aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/inet_frag.h
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2018-03-31 12:58:57 -0700
committerDavid S. Miller <davem@davemloft.net>2018-03-31 23:25:39 -0400
commitc2615cf5a761b32bf74e85bddc223dfff3d9b9f0 (patch)
tree0bb32d58aa3e1d251d1b8d25aebc25317ba5eaa5 /include/net/inet_frag.h
parentrhashtable: reorganize struct rhashtable layout (diff)
downloadlinux-dev-c2615cf5a761b32bf74e85bddc223dfff3d9b9f0.tar.xz
linux-dev-c2615cf5a761b32bf74e85bddc223dfff3d9b9f0.zip
inet: frags: reorganize struct netns_frags
Put the read-mostly fields in a separate cache line at the beginning of struct netns_frags, to reduce false sharing noticed in inet_frag_kill() Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/inet_frag.h')
-rw-r--r--include/net/inet_frag.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/net/inet_frag.h b/include/net/inet_frag.h
index a52e7273e7a5..ed07e3786d98 100644
--- a/include/net/inet_frag.h
+++ b/include/net/inet_frag.h
@@ -5,16 +5,17 @@
#include <linux/rhashtable.h>
struct netns_frags {
- struct rhashtable rhashtable ____cacheline_aligned_in_smp;
-
- /* Keep atomic mem on separate cachelines in structs that include it */
- atomic_long_t mem ____cacheline_aligned_in_smp;
/* sysctls */
long high_thresh;
long low_thresh;
int timeout;
int max_dist;
struct inet_frags *f;
+
+ struct rhashtable rhashtable ____cacheline_aligned_in_smp;
+
+ /* Keep atomic mem on separate cachelines in structs that include it */
+ atomic_long_t mem ____cacheline_aligned_in_smp;
};
/**