net: save some cycles when doing skb_attempt_defer_free()
authorJason Xing <kernelxing@tencent.com>
Fri, 12 Apr 2024 03:07:18 +0000 (11:07 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Apr 2024 09:34:59 +0000 (10:34 +0100)
commit4d0470b9ad73e965f5a1e52f1deb0edbb6d03c89
tree568b10f31df6dc8bba09d9ad235b4e43136bc825
parent71329c491888c9309af41fafb5129a48843ffa09
net: save some cycles when doing skb_attempt_defer_free()

Normally, we don't face these two exceptions very often meanwhile
we have some chance to meet the condition where the current cpu id
is the same as skb->alloc_cpu.

One simple test that can help us see the frequency of this statement
'cpu == raw_smp_processor_id()':
1. running iperf -s and iperf -c [ip] -P [MAX CPU]
2. using BPF to capture skb_attempt_defer_free()

I can see around 4% chance that happens to satisfy the statement.
So moving this statement at the beginning can save some cycles in
most cases.

Signed-off-by: Jason Xing <kernelxing@tencent.com>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/skbuff.c