diff options
| author | Eric Dumazet <edumazet@google.com> | 2026-01-12 13:15:15 +0000 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2026-01-15 12:30:28 +0100 |
| commit | d4596891e72cbf155d61798a81ce9d36b69bfaf4 (patch) | |
| tree | f0debb51c1414be5c83f85e88ebe7d5529202b7c | |
| parent | d281dff93a2c7df6903e89f779ac1af477a88abf (diff) | |
net: inline napi_skb_cache_get()
clang is inlining it already, gcc (14.2) does not.
Small space cost (215 bytes on x86_64) but faster sk_buff allocations.
$ scripts/bloat-o-meter -t net/core/skbuff.gcc.before.o net/core/skbuff.gcc.after.o
add/remove: 0/1 grow/shrink: 4/1 up/down: 359/-144 (215)
Function old new delta
__alloc_skb 471 611 +140
napi_build_skb 245 363 +118
napi_alloc_skb 331 416 +85
skb_copy_ubufs 1869 1885 +16
skb_shift 1445 1413 -32
napi_skb_cache_get 112 - -112
Total: Before=59941, After=60156, chg +0.36%
Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260112131515.4051589-1-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
| -rw-r--r-- | net/core/skbuff.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 4887099e8678..3d736c64bd87 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -280,7 +280,7 @@ EXPORT_SYMBOL(__netdev_alloc_frag_align); */ static u32 skbuff_cache_size __read_mostly; -static struct sk_buff *napi_skb_cache_get(bool alloc) +static inline struct sk_buff *napi_skb_cache_get(bool alloc) { struct napi_alloc_cache *nc = this_cpu_ptr(&napi_alloc_cache); struct sk_buff *skb; |
