]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
inet: raw: add drop_counters to raw sockets
authorEric Dumazet <edumazet@google.com>
Tue, 26 Aug 2025 12:50:31 +0000 (12:50 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 28 Aug 2025 11:14:50 +0000 (13:14 +0200)
commitb81aa23234d94d99951761d9864061d774633ba9
treeb01e1a944d6271c3505baaeff3fa5f1cd3663e06
parent51132b99f01ce05f8008f0fb189d83eed484bd53
inet: raw: add drop_counters to raw sockets

When a packet flood hits one or more RAW sockets, many cpus
have to update sk->sk_drops.

This slows down other cpus, because currently
sk_drops is in sock_write_rx group.

Add a socket_drop_counters structure to raw sockets.

Using dedicated cache lines to hold drop counters
makes sure that consumers no longer suffer from
false sharing if/when producers only change sk->sk_drops.

This adds 128 bytes per RAW socket.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20250826125031.1578842-6-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
include/linux/ipv6.h
include/net/raw.h
net/ipv4/raw.c
net/ipv6/raw.c