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 <il...@mellanox.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 ?



Reply via email to