Skip to content

Commit

Permalink
[NET]: Improve cache line coherency of ingress qdisc
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Neil Turton authored and David S. Miller committed Feb 13, 2008
1 parent d8b2a4d commit d5bd014
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions include/linux/netdevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
*/
Expand All @@ -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)
*/
Expand Down

0 comments on commit d5bd014

Please sign in to comment.