Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Eric Dumazet and committed by
Jakub Kicinski
6466441a 9ff2d2a9

+11 -13
+11 -2
include/linux/skbuff.h
··· 2682 2682 shinfo->nr_frags = i + 1; 2683 2683 } 2684 2684 2685 - void skb_add_rx_frag_netmem(struct sk_buff *skb, int i, netmem_ref netmem, 2686 - int off, int size, unsigned int truesize); 2685 + static inline void skb_add_rx_frag_netmem(struct sk_buff *skb, int i, 2686 + netmem_ref netmem, int off, 2687 + int size, unsigned int truesize) 2688 + { 2689 + DEBUG_NET_WARN_ON_ONCE(size > truesize); 2690 + 2691 + skb_fill_netmem_desc(skb, i, netmem, off, size); 2692 + skb->len += size; 2693 + skb->data_len += size; 2694 + skb->truesize += truesize; 2695 + } 2687 2696 2688 2697 static inline void skb_add_rx_frag(struct sk_buff *skb, int i, 2689 2698 struct page *page, int off, int size,
-11
net/core/skbuff.c
··· 891 891 } 892 892 EXPORT_SYMBOL(napi_alloc_skb); 893 893 894 - void skb_add_rx_frag_netmem(struct sk_buff *skb, int i, netmem_ref netmem, 895 - int off, int size, unsigned int truesize) 896 - { 897 - DEBUG_NET_WARN_ON_ONCE(size > truesize); 898 - 899 - skb_fill_netmem_desc(skb, i, netmem, off, size); 900 - skb->len += size; 901 - skb->data_len += size; 902 - skb->truesize += truesize; 903 - } 904 - EXPORT_SYMBOL(skb_add_rx_frag_netmem); 905 894 906 895 void skb_coalesce_rx_frag(struct sk_buff *skb, int i, int size, 907 896 unsigned int truesize)