summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2026-02-26 07:12:13 +0300
committerJakub Kicinski <kuba@kernel.org>2026-02-28 06:20:34 +0300
commit6466441a5ecd1c1168264e4c322bae455579b156 (patch)
treee2b8d3dfdda0975440d8197a0e5ca1d9c7a28f00 /include/linux
parent9ff2d2a9837015ff4b3579b028aeae8c180aa8d3 (diff)
downloadlinux-6466441a5ecd1c1168264e4c322bae455579b156.tar.xz
net: inline skb_add_rx_frag_netmem()
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>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/skbuff.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index daa4e4944ce3..9cc98f850f1d 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -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,