diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2009-05-27 15:26:37 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-29 04:46:26 -0400 |
commit | 28679751a924c11f7135641f26e99249385de5b4 (patch) | |
tree | 79e05e9ee10e62b02c52e3a5af11dd3dfa28a0e2 /drivers/net/vxge/vxge-main.c | |
parent | 3f1f39c42b24d5c20eb593ce80b9c4d5ec1e2148 (diff) |
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/vxge-main.c')
-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, | |||
677 | return VXGE_HW_OK; | 677 | return VXGE_HW_OK; |
678 | } | 678 | } |
679 | 679 | ||
680 | /* select a vpath to trasmit the packet */ | 680 | /* select a vpath to transmit the packet */ |
681 | static u32 vxge_get_vpath_no(struct vxgedev *vdev, struct sk_buff *skb, | 681 | static u32 vxge_get_vpath_no(struct vxgedev *vdev, struct sk_buff *skb, |
682 | int *do_lock) | 682 | int *do_lock) |
683 | { | 683 | { |
@@ -992,7 +992,9 @@ vxge_xmit(struct sk_buff *skb, struct net_device *dev) | |||
992 | VXGE_HW_FIFO_TXD_TX_CKO_UDP_EN); | 992 | VXGE_HW_FIFO_TXD_TX_CKO_UDP_EN); |
993 | 993 | ||
994 | vxge_hw_fifo_txdl_post(fifo_hw, dtr); | 994 | vxge_hw_fifo_txdl_post(fifo_hw, dtr); |
995 | dev->trans_start = jiffies; | 995 | #ifdef NETIF_F_LLTX |
996 | dev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */ | ||
997 | #endif | ||
996 | spin_unlock_irqrestore(&fifo->tx_lock, flags); | 998 | spin_unlock_irqrestore(&fifo->tx_lock, flags); |
997 | 999 | ||
998 | VXGE_COMPLETE_VPATH_TX(fifo); | 1000 | VXGE_COMPLETE_VPATH_TX(fifo); |