[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1470317089.13693.23.camel@edumazet-glaptop3.roam.corp.google.com>
Date: Thu, 04 Aug 2016 15:24:49 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Ilya Lesokhin <ilyal@...lanox.com>
Cc: netdev@...r.kernel.org, edumazet@...gle.com
Subject: Re: [PATCH] net: use non-compound pages in frag allocator
On Thu, 2016-08-04 at 15:47 +0300, Ilya Lesokhin wrote:
> The code currently always references the first page in the
> frag therefore there is no need to pay the extra overhead
> of making the frag page compound
>
> Signed-off-by: Ilya Lesokhin <ilyal@...lanox.com>
> ---
> net/core/sock.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/core/sock.c b/net/core/sock.c
> index 08bf97e..77432ba 100644
> --- a/net/core/sock.c
> +++ b/net/core/sock.c
> @@ -1993,7 +1993,7 @@ bool skb_page_frag_refill(unsigned int sz, struct page_frag *pfrag, gfp_t gfp)
> if (SKB_FRAG_PAGE_ORDER) {
> /* Avoid direct reclaim but allow kswapd to wake */
> pfrag->page = alloc_pages((gfp & ~__GFP_DIRECT_RECLAIM) |
> - __GFP_COMP | __GFP_NOWARN |
> + __GFP_NOWARN |
> __GFP_NORETRY,
> SKB_FRAG_PAGE_ORDER);
> if (likely(pfrag->page)) {
Looks very risky to me.
What numbers can you show us exactly ?
splice() is known to play games on pages, make sure it still works ?
Powered by blists - more mailing lists