Re: [PATCH net-next 03/24] net: Use __napi_alloc_frag_align() instead of open coding it.

From: Paolo Abeni
Date: Mon Dec 18 2023 - 02:49:38 EST


On Fri, 2023-12-15 at 18:07 +0100, Sebastian Andrzej Siewior wrote:
> The else condition within __netdev_alloc_frag_align() is an open coded
> __napi_alloc_frag_align().
>
> Use __napi_alloc_frag_align() instead of open coding it.
>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
> ---
> net/core/skbuff.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/net/core/skbuff.c b/net/core/skbuff.c
> index b157efea5dea8..de9397e45718a 100644
> --- a/net/core/skbuff.c
> +++ b/net/core/skbuff.c
> @@ -311,11 +311,8 @@ void *__netdev_alloc_frag_align(unsigned int fragsz, unsigned int align_mask)
>
> data = page_frag_alloc_align(nc, fragsz, GFP_ATOMIC, align_mask);
> } else {
> - struct napi_alloc_cache *nc;
> -
> local_bh_disable();
> - nc = this_cpu_ptr(&napi_alloc_cache);
> - data = page_frag_alloc_align(&nc->page, fragsz, GFP_ATOMIC, align_mask);

There is a:

fragsz = SKB_DATA_ALIGN(fragsz);

statement just before the enclosing 'if'. I would consider moving such
assignment inside the 'then' branch - since __napi_alloc_frag_align()
already include that.

/P