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