[Devel] [PATCH RHEL7 COMMIT] net/skbuff: hide high-order-request warning in __alloc_skb()

Konstantin Khorenko khorenko at virtuozzo.com
Mon Jun 20 22:33:22 MSK 2022


The commit is pushed to "branch-rh7-3.10.0-1160.62.1.vz7.187.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-1160.62.1.vz7.187.5
------>
commit 869b6852fb6a58a77102b2c2df69d6aa80bc1bd6
Author: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
Date:   Mon Jun 20 18:36:09 2022 +0300

    net/skbuff: hide high-order-request warning in __alloc_skb()
    
    Similar to what we do in pskb_expand_head(), else we see 64k+
    allocations for skb->head hit our high order warning.
    
    https://jira.sw.ru/browse/PSBM-139948
    
    Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
    
    Feature: mm: avoid high order allocations in all subsystems
---
 net/core/skbuff.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 790a4894bfcd..7a43b4367746 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -256,7 +256,8 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
 	 */
 	size = SKB_DATA_ALIGN(size);
 	size += SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
-	data = kmalloc_reserve(size, gfp_mask, node, &pfmemalloc);
+	data = kmalloc_reserve(size, gfp_mask|__GFP_ORDER_NOWARN,
+			       node, &pfmemalloc);
 	if (!data)
 		goto nodata;
 	/* kmalloc(size) might give us more room than requested.


More information about the Devel mailing list