diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2009-05-27 19:26:37 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-29 01:46:26 -0700 |
commit | 28679751a924c11f7135641f26e99249385de5b4 (patch) | |
tree | 79e05e9ee10e62b02c52e3a5af11dd3dfa28a0e2 /drivers/net/vxge | |
parent | 3f1f39c42b24d5c20eb593ce80b9c4d5ec1e2148 (diff) | |
download | lwn-28679751a924c11f7135641f26e99249385de5b4.tar.gz lwn-28679751a924c11f7135641f26e99249385de5b4.zip |
net: dont update dev->trans_start in 10GB drivers
Followup of commits 9d21493b4beb8f918ba248032fefa393074a5e2b
and 08baf561083bc27a953aa087dd8a664bb2b88e8e
(net: tx scalability works : trans_start)
(net: txq_trans_update() helper)
Now that core network takes care of trans_start updates, dont do it
in drivers themselves, if possible. Multi queue drivers can
avoid one cache miss (on dev->trans_start) in their start_xmit()
handler.
Exceptions are NETIF_F_LLTX drivers (vxge & tehuti)
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxge')
-rw-r--r-- | drivers/net/vxge/vxge-main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/vxge/vxge-main.c b/drivers/net/vxge/vxge-main.c index b7f08f3e524b..6c838b3e063a 100644 --- a/drivers/net/vxge/vxge-main.c +++ b/drivers/net/vxge/vxge-main.c @@ -677,7 +677,7 @@ vxge_xmit_compl(struct __vxge_hw_fifo *fifo_hw, void *dtr, return VXGE_HW_OK; } -/* select a vpath to trasmit the packet */ +/* select a vpath to transmit the packet */ static u32 vxge_get_vpath_no(struct vxgedev *vdev, struct sk_buff *skb, int *do_lock) { @@ -992,7 +992,9 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev) VXGE_HW_FIFO_TXD_TX_CKO_UDP_EN); vxge_hw_fifo_txdl_post(fifo_hw, dtr); - dev->trans_start = jiffies; +#ifdef NETIF_F_LLTX + dev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */ +#endif spin_unlock_irqrestore(&fifo->tx_lock, flags); VXGE_COMPLETE_VPATH_TX(fifo); |