Message ID | 20231215171020.687342-4-bigeasy@linutronix.de (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | locking: Introduce nested-BH locking. | expand |
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@linutronix.de> > --- > 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
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;
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@linutronix.de> --- net/core/skbuff.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)