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 <[email protected]>
---
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);
+ data = __napi_alloc_frag_align(fragsz, align_mask);
local_bh_enable();
}
return data;
--
2.43.0
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 <[email protected]>
> ---
> 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
On 2023-12-18 08:48:56 [+0100], Paolo Abeni wrote:
> > 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.
Okay, moved.
> /P
Sebastian