aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Turton <nturton@solarflare.com>2008-02-13 02:13:48 -0500
committerDavid S. Miller <davem@davemloft.net>2008-02-13 02:13:48 -0500
commitd5bd0146f0d61f7dc9904a7cc6d5cb9832034de4 (patch)
tree1f299bab2a11c790571a71177b189f8f3a216ba5
parentd8b2a4d21e0b37b9669b202867bfef19f68f786a (diff)
[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 047d432bde55..4ffa49dbb66f 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -604,6 +604,10 @@ struct net_device
604 604
605 unsigned char broadcast[MAX_ADDR_LEN]; /* hw bcast add */ 605 unsigned char broadcast[MAX_ADDR_LEN]; /* hw bcast add */
606 606
607 /* ingress path synchronizer */
608 spinlock_t ingress_lock;
609 struct Qdisc *qdisc_ingress;
610
607/* 611/*
608 * Cache line mostly used on queue transmit path (qdisc) 612 * Cache line mostly used on queue transmit path (qdisc)
609 */ 613 */
@@ -617,10 +621,6 @@ struct net_device
617 /* Partially transmitted GSO packet. */ 621 /* Partially transmitted GSO packet. */
618 struct sk_buff *gso_skb; 622 struct sk_buff *gso_skb;
619 623
620 /* ingress path synchronizer */
621 spinlock_t ingress_lock;
622 struct Qdisc *qdisc_ingress;
623
624/* 624/*
625 * One part is mostly used on xmit path (device) 625 * One part is mostly used on xmit path (device)
626 */ 626 */