[Devel] [PATCH RHEL8 COMMIT] sctp: suppress warnings on high order memory allocation on sctp chunk creation

Konstantin Khorenko khorenko at virtuozzo.com
Mon Jun 7 15:54:01 MSK 2021


The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.35
------>
commit 421068bb34459af2616274dc4774c63e7feef03b
Author: Konstantin Khorenko <khorenko at virtuozzo.com>
Date:   Mon Jun 7 15:54:01 2021 +0300

    sctp: suppress warnings on high order memory allocation on sctp chunk creation
    
    _sctp_make_chunk() could allocate skbs up to 65K in size
    (4th order page), so we get complains about high order page
    allocations from our detection mechanizm while running sctp
    testsuite.
    
    It's not evident that substituting alloc_skb() with
    alloc_skb_with_frags() speeds up the sender performance.
    On another hand if the node's memory is highly fragmented
    and allocation of high order pages has noticable latency,
    it influences the sender most, not the node as a whole.
    
    And taking into account that sctp is not widely used,
    let's just shut up the warning in this place.
    
    https://jira.sw.ru/browse/PSBM-93798
    
    Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
    
    (cherry-picked from vz7 commit ba10a40a017e ("sctp: suppress warnings on high
    order memory allocation on sctp chunk creation"))
    
    https://jira.sw.ru/browse/PSBM-127848
    Signed-off-by: Valeriy Vdovin <valeriy.vdovin at virtuozzo.com>
---
 net/sctp/sm_make_chunk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index cc94458f9f99..d967708cbd58 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -1410,7 +1410,7 @@ static struct sctp_chunk *_sctp_make_chunk(const struct sctp_association *asoc,
 		goto nodata;
 
 	/* No need to allocate LL here, as this is only a chunk. */
-	skb = alloc_skb(chunklen, gfp);
+	skb = alloc_skb(chunklen, gfp | __GFP_ORDER_NOWARN);
 	if (!skb)
 		goto nodata;
 


More information about the Devel mailing list