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/sfc | |
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/sfc')
-rw-r--r-- | drivers/net/sfc/selftest.c | 1 | ||||
-rw-r--r-- | drivers/net/sfc/tx.c | 7 |
2 files changed, 1 insertions, 7 deletions
diff --git a/drivers/net/sfc/selftest.c b/drivers/net/sfc/selftest.c index 043795715955..b67ccca3fc1a 100644 --- a/drivers/net/sfc/selftest.c +++ b/drivers/net/sfc/selftest.c | |||
@@ -438,6 +438,7 @@ static int efx_begin_loopback(struct efx_tx_queue *tx_queue) | |||
438 | kfree_skb(skb); | 438 | kfree_skb(skb); |
439 | return -EPIPE; | 439 | return -EPIPE; |
440 | } | 440 | } |
441 | efx->net_dev->trans_start = jiffies; | ||
441 | } | 442 | } |
442 | 443 | ||
443 | return 0; | 444 | return 0; |
diff --git a/drivers/net/sfc/tx.c b/drivers/net/sfc/tx.c index d6681edb7014..14a14788566c 100644 --- a/drivers/net/sfc/tx.c +++ b/drivers/net/sfc/tx.c | |||
@@ -360,13 +360,6 @@ inline int efx_xmit(struct efx_nic *efx, | |||
360 | 360 | ||
361 | /* Map fragments for DMA and add to TX queue */ | 361 | /* Map fragments for DMA and add to TX queue */ |
362 | rc = efx_enqueue_skb(tx_queue, skb); | 362 | rc = efx_enqueue_skb(tx_queue, skb); |
363 | if (unlikely(rc != NETDEV_TX_OK)) | ||
364 | goto out; | ||
365 | |||
366 | /* Update last TX timer */ | ||
367 | efx->net_dev->trans_start = jiffies; | ||
368 | |||
369 | out: | ||
370 | return rc; | 363 | return rc; |
371 | } | 364 | } |
372 | 365 | ||