Le jeu. 22 oct. 2026 à 04:18, Qingfang Deng [off-list ref] a écrit :
On 2026/10/22 1:55, Eric Dumazet wrote:
quoted
quoted
What about NETIF_F_FRAGLIST?
I do not see your point. Can you elaborate?
There’s also nothing left to gain on fraglist packets.
SKB_GSO_FRAGLIST packets already go through skb_segment_list(),
which just unchains the original skbs without copying, as the fraglist
test run showed.
Frag_list skbs that aren’t fraglist GRO go through skb_segment(),
which with NETIF_F_SG already shares the pages of the chained skbs
instead of copying them.
I've run selftests and confirmed that NETIF_F_FRAGLIST is unnecessary here.
One extra finding: passing NETIF_F_SG conditionally can avoid an extra
reallocation in skb_linearize().
segs = skb_gso_segment(skb, chan->direct_xmit ? NETIF_F_SG : 0);
Yep, I can do this, thanks.
I was hesitant to duplicate the logic for something that has never
worked in the past,
and at very low rates, unless in emulators/fuzzers perhaps.