]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: use NUMA drop counters for softnet_data.dropped
authorEric Dumazet <edumazet@google.com>
Tue, 9 Sep 2025 12:19:42 +0000 (12:19 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sun, 14 Sep 2025 18:35:17 +0000 (11:35 -0700)
commitfdae0ab67d57d480dc61e9fb45678bbdc3786711
tree9a45268e106c211e75c55a285db8569a9849747b
parent278289bcec901663868048497e36c92560bd1b14
net: use NUMA drop counters for softnet_data.dropped

Hosts under DOS attack can suffer from false sharing
in enqueue_to_backlog() : atomic_inc(&sd->dropped).

This is because sd->dropped can be touched from many cpus,
possibly residing on different NUMA nodes.

Generalize the sk_drop_counters infrastucture
added in commit c51613fa276f ("net: add sk->sk_drop_counters")
and use it to replace softnet_data.dropped
with NUMA friendly softnet_data.drop_counters.

This adds 64 bytes per cpu, maybe more in the future
if we increase the number of counters (currently 2)
per 'struct numa_drop_counters'.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20250909121942.1202585-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/linux/ipv6.h
include/linux/netdevice.h
include/linux/udp.h
include/net/raw.h
include/net/sock.h
net/core/dev.c
net/core/net-procfs.c