]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: inline skb_add_rx_frag_netmem()
authorEric Dumazet <edumazet@google.com>
Thu, 26 Feb 2026 04:12:13 +0000 (04:12 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sat, 28 Feb 2026 03:20:34 +0000 (19:20 -0800)
This critical helper (via skb_add_rx_frag()) is mostly used
from drivers rx fast path.

It is time to inline it, this actually saves space in vmlinux:

size vmlinux.old vmlinux
   text    data     bss     dec     hex filename
37350766        23092977        4846992 65290735        3e441ef vmlinux.old
37350600        23092977        4846992 65290569        3e44149 vmlinux

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20260226041213.1892561-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/linux/skbuff.h
net/core/skbuff.c

index daa4e4944ce3f2184b193f43dbab88147ae2a7e4..9cc98f850f1d7cd01eed3fe9d17b59116b49958e 100644 (file)
@@ -2682,8 +2682,17 @@ static inline void skb_fill_page_desc_noacc(struct sk_buff *skb, int i,
        shinfo->nr_frags = i + 1;
 }
 
-void skb_add_rx_frag_netmem(struct sk_buff *skb, int i, netmem_ref netmem,
-                           int off, int size, unsigned int truesize);
+static inline void skb_add_rx_frag_netmem(struct sk_buff *skb, int i,
+                                         netmem_ref netmem, int off,
+                                         int size, unsigned int truesize)
+{
+       DEBUG_NET_WARN_ON_ONCE(size > truesize);
+
+       skb_fill_netmem_desc(skb, i, netmem, off, size);
+       skb->len += size;
+       skb->data_len += size;
+       skb->truesize += truesize;
+}
 
 static inline void skb_add_rx_frag(struct sk_buff *skb, int i,
                                   struct page *page, int off, int size,
index 0e217041958a83d2a3c18de2965808442546c49b..513cbfed19bc34bbb6767cdd7a50dad68be430fb 100644 (file)
@@ -891,17 +891,6 @@ skb_fail:
 }
 EXPORT_SYMBOL(napi_alloc_skb);
 
-void skb_add_rx_frag_netmem(struct sk_buff *skb, int i, netmem_ref netmem,
-                           int off, int size, unsigned int truesize)
-{
-       DEBUG_NET_WARN_ON_ONCE(size > truesize);
-
-       skb_fill_netmem_desc(skb, i, netmem, off, size);
-       skb->len += size;
-       skb->data_len += size;
-       skb->truesize += truesize;
-}
-EXPORT_SYMBOL(skb_add_rx_frag_netmem);
 
 void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int size,
                          unsigned int truesize)