diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2024-06-20 15:21:53 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-06-24 16:41:22 -0700 |
commit | 43d7ca2907cb0e8a23d73934a5cf000e24b0aa22 (patch) | |
tree | 5cbbd02f3844b4fa584faded02efc76e7307ec33 | |
parent | c5bcab7558220bbad8bd4863576afd1b340ce29f (diff) | |
download | lwn-43d7ca2907cb0e8a23d73934a5cf000e24b0aa22.tar.gz lwn-43d7ca2907cb0e8a23d73934a5cf000e24b0aa22.zip |
net: Use __napi_alloc_frag_align() instead of open coding it.
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.
Move fragsz assignment before page_frag_alloc_align() invocation because
__napi_alloc_frag_align() also contains this statement.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://patch.msgid.link/20240620132727.660738-4-bigeasy@linutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | net/core/skbuff.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 2315c088e91d..1b52f69ad05e 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -318,19 +318,15 @@ void *__netdev_alloc_frag_align(unsigned int fragsz, unsigned int align_mask) { void *data; - fragsz = SKB_DATA_ALIGN(fragsz); if (in_hardirq() || irqs_disabled()) { struct page_frag_cache *nc = this_cpu_ptr(&netdev_alloc_cache); + fragsz = SKB_DATA_ALIGN(fragsz); 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; |