diff options
author | Neil Turton <nturton@solarflare.com> | 2008-02-12 23:13:48 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-02-12 23:13:48 -0800 |
commit | d5bd0146f0d61f7dc9904a7cc6d5cb9832034de4 (patch) | |
tree | 1f299bab2a11c790571a71177b189f8f3a216ba5 | |
parent | d8b2a4d21e0b37b9669b202867bfef19f68f786a (diff) | |
download | op-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.h | 8 |
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) */ |