summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Turton <nturton@solarflare.com>2008-02-12 23:13:48 -0800
committerDavid S. Miller <davem@davemloft.net>2008-02-12 23:13:48 -0800
commitd5bd0146f0d61f7dc9904a7cc6d5cb9832034de4 (patch)
tree1f299bab2a11c790571a71177b189f8f3a216ba5
parentd8b2a4d21e0b37b9669b202867bfef19f68f786a (diff)
downloadop-kernel-dev-d5bd0146f0d61f7dc9904a7cc6d5cb9832034de4.zip
op-kernel-dev-d5bd0146f0d61f7dc9904a7cc6d5cb9832034de4.tar.gz
[NET]: Improve cache line coherency of ingress qdisc
Move the ingress qdisc members of struct net_device from the transmit cache line to the receive cache line to avoid cache line ping-pong. These members are only used on the receive path. Signed-off-by: Neil Turton <nturton@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/linux/netdevice.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 047d432..4ffa49d 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -604,6 +604,10 @@ struct net_device
unsigned char broadcast[MAX_ADDR_LEN]; /* hw bcast add */
+ /* ingress path synchronizer */
+ spinlock_t ingress_lock;
+ struct Qdisc *qdisc_ingress;
+
/*
* Cache line mostly used on queue transmit path (qdisc)
*/
@@ -617,10 +621,6 @@ struct net_device
/* Partially transmitted GSO packet. */
struct sk_buff *gso_skb;
- /* ingress path synchronizer */
- spinlock_t ingress_lock;
- struct Qdisc *qdisc_ingress;
-
/*
* One part is mostly used on xmit path (device)
*/
OpenPOWER on IntegriCloud