mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
net: advance skb_defer_disable_key check in napi_consume_skb
When net.core.skb_defer_max is adjusted to zero, napi_consume_skb() shouldn't go into that deeper in skb_attempt_defer_free() because it adds an additional pair of local_bh_enable/disable() which is evidently not needed. Advancing the check of the static key saves more cycles and benefits non defer case. Signed-off-by: Jason Xing <kernelxing@tencent.com> Link: https://patch.msgid.link/20260402034114.65766-1-kerneljasonxing@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
1ef05ed263
commit
8a4e3ab61d
|
|
@ -94,6 +94,7 @@
|
|||
|
||||
#include "dev.h"
|
||||
#include "devmem.h"
|
||||
#include "net-sysfs.h"
|
||||
#include "netmem_priv.h"
|
||||
#include "sock_destructor.h"
|
||||
|
||||
|
|
@ -1519,7 +1520,8 @@ void napi_consume_skb(struct sk_buff *skb, int budget)
|
|||
|
||||
DEBUG_NET_WARN_ON_ONCE(!in_softirq());
|
||||
|
||||
if (skb->alloc_cpu != smp_processor_id() && !skb_shared(skb)) {
|
||||
if (!static_branch_unlikely(&skb_defer_disable_key) &&
|
||||
skb->alloc_cpu != smp_processor_id() && !skb_shared(skb)) {
|
||||
skb_release_head_state(skb);
|
||||
return skb_attempt_defer_free(skb);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user