Commit cd39a789 authored by Jesper Dangaard Brouer's avatar Jesper Dangaard Brouer Committed by David S. Miller

net: cacheline adjust struct netns_frags for better frag performance

This small cacheline adjustment of struct netns_frags improves
performance significantly for the fragmentation code.

Struct members 'lru_list' and 'mem' are both hot elements, and it
hurts performance, due to cacheline bouncing at every call point,
when they share a cacheline.  Also notice, how mem is placed
together with 'high_thresh' and 'low_thresh', as they are used in
the compare operations together.
Signed-off-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 656a05c8
...@@ -3,9 +3,12 @@ ...@@ -3,9 +3,12 @@
struct netns_frags { struct netns_frags {
int nqueues; int nqueues;
atomic_t mem;
struct list_head lru_list; struct list_head lru_list;
/* Its important for performance to keep lru_list and mem on
* separate cachelines
*/
atomic_t mem ____cacheline_aligned_in_smp;
/* sysctls */ /* sysctls */
int timeout; int timeout;
int high_thresh; int high_thresh;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment