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/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 04379571595..b67ccca3fc1 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) kfree_skb(skb); return -EPIPE; } + efx->net_dev->trans_start = jiffies; } return 0; diff --git a/drivers/net/sfc/tx.c b/drivers/net/sfc/tx.c index d6681edb701..14a14788566 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, /* Map fragments for DMA and add to TX queue */ rc = efx_enqueue_skb(tx_queue, skb); - if (unlikely(rc != NETDEV_TX_OK)) - goto out; - - /* Update last TX timer */ - efx->net_dev->trans_start = jiffies; - - out: return rc; } |