diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-11-04 23:19:28 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-08 15:10:59 -0500 |
commit | 8ce120f11898c921329a5f618d01dcc1e8e69cac (patch) | |
tree | 471821e87eb020e4e9dcf66124e862e7471220a1 /net/ipv4 | |
parent | 2bc8ca40f951163b3bb75949479e2755c12c1b96 (diff) | |
download | op-kernel-dev-8ce120f11898c921329a5f618d01dcc1e8e69cac.zip op-kernel-dev-8ce120f11898c921329a5f618d01dcc1e8e69cac.tar.gz |
net: better pcpu data alignment
Tunnels can force an alignment of their percpu data to reduce number of
cache lines used in fast path, or read in .ndo_get_stats()
percpu_alloc() is a very fine grained allocator, so any small hole will
be used anyway.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/ip_gre.c | 2 | ||||
-rw-r--r-- | net/ipv4/ipip.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index d55110e..38f7c07 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -171,7 +171,7 @@ struct pcpu_tstats { unsigned long rx_bytes; unsigned long tx_packets; unsigned long tx_bytes; -}; +} __attribute__((aligned(4*sizeof(unsigned long)))); static struct net_device_stats *ipgre_get_stats(struct net_device *dev) { diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 065effd..9490690 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c @@ -148,7 +148,7 @@ struct pcpu_tstats { unsigned long rx_bytes; unsigned long tx_packets; unsigned long tx_bytes; -}; +} __attribute__((aligned(4*sizeof(unsigned long)))); static struct net_device_stats *ipip_get_stats(struct net_device *dev) { |