[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iLMd64djnN_KZi6y49zcd46Lg96uDO7YxkHaDsaJ=vdAw@mail.gmail.com>
Date: Mon, 15 Sep 2025 22:59:48 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: Jason Baron <jbaron@...mai.com>
Cc: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
netdev@...r.kernel.org, Willem de Bruijn <willemb@...gle.com>
Subject: Re: [PATCH net] net: allow alloc_skb_with_frags() to use MAX_SKB_FRAGS
On Mon, Sep 15, 2025 at 8:49 PM Jason Baron <jbaron@...mai.com> wrote:
>
> Currently, alloc_skb_with_frags() will only fill (MAX_SKB_FRAGS - 1)
> slots. I think it should use all MAX_SKB_FRAGS slots, as callers of
> alloc_skb_with_frags() will size their allocation of frags based
> on MAX_SKB_FRAGS.
Hi Jason
Interesting !
Could you give some details here, have you found this for af_unix users ?
They would still fail if no high order pages are available, for
allocations bigger than 64K ?
>
> Signed-off-by: Jason Baron <jbaron@...mai.com>
> ---
> net/core/skbuff.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/core/skbuff.c b/net/core/skbuff.c
> index 23b776cd9879..df942aca0617 100644
> --- a/net/core/skbuff.c
> +++ b/net/core/skbuff.c
> @@ -6669,7 +6669,7 @@ struct sk_buff *alloc_skb_with_frags(unsigned long header_len,
> return NULL;
>
> while (data_len) {
> - if (nr_frags == MAX_SKB_FRAGS - 1)
> + if (nr_frags == MAX_SKB_FRAGS)
> goto failure;
> while (order && PAGE_ALIGN(data_len) < (PAGE_SIZE << order))
> order--;
> --
> 2.25.1
>
We require a Fixes: tag for patches targeting net tree.
I suspect this would be
Fixes: 09c2c90705bb ("net: allow alloc_skb_with_frags() to allocate
bigger packets")
Thank you.
Powered by blists - more mailing lists