提交 d5bd0146 编写于 作者: N Neil Turton 提交者: David S. Miller

[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: NNeil Turton <nturton@solarflare.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 d8b2a4d2
...@@ -604,6 +604,10 @@ struct net_device ...@@ -604,6 +604,10 @@ struct net_device
unsigned char broadcast[MAX_ADDR_LEN]; /* hw bcast add */ 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) * Cache line mostly used on queue transmit path (qdisc)
*/ */
...@@ -617,10 +621,6 @@ struct net_device ...@@ -617,10 +621,6 @@ struct net_device
/* Partially transmitted GSO packet. */ /* Partially transmitted GSO packet. */
struct sk_buff *gso_skb; 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) * One part is mostly used on xmit path (device)
*/ */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册