diff options
| author | Eric Dumazet <edumazet@google.com> | 2025-06-30 12:35:38 +0300 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-07-03 00:22:02 +0300 |
| commit | 998642e999d23324c5dbf38149606d09cec2c377 (patch) | |
| tree | 193d01be8d1645ffa13c80a50ca3a61281798313 /include/net/aligned_data.h | |
| parent | 3715b5df09b92168a4492b48bb7ea70d89f9d8f3 (diff) | |
| download | linux-998642e999d23324c5dbf38149606d09cec2c377.tar.xz | |
net: move net_cookie into net_aligned_data
Using per-cpu data for net->net_cookie generation is overkill,
because even busy hosts do not create hundreds of netns per second.
Make sure to put net_cookie in a private cache line to avoid
potential false sharing.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://patch.msgid.link/20250630093540.3052835-3-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/net/aligned_data.h')
| -rw-r--r-- | include/net/aligned_data.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/aligned_data.h b/include/net/aligned_data.h index cf3329d7c227..5c7badf71f04 100644 --- a/include/net/aligned_data.h +++ b/include/net/aligned_data.h @@ -2,6 +2,7 @@ #ifndef _NET_ALIGNED_DATA_H #define _NET_ALIGNED_DATA_H +#include <linux/atomic.h> #include <linux/types.h> /* Structure holding cacheline aligned fields on SMP builds. @@ -9,6 +10,7 @@ * attribute to ensure no accidental false sharing can happen. */ struct net_aligned_data { + atomic64_t net_cookie ____cacheline_aligned_in_smp; }; extern struct net_aligned_data net_aligned_data; |
