diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2009-05-26 01:58:01 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-26 01:58:01 -0400 |
commit | 08baf561083bc27a953aa087dd8a664bb2b88e8e (patch) | |
tree | 979d92224e21b69368a27bb684b74b3d4d744183 /include | |
parent | 65ac8851490ec97a96759af729132c96f925a795 (diff) |
net: txq_trans_update() helper
We would like to get rid of netdev->trans_start = jiffies; that about all net
drivers have to use in their start_xmit() function, and use txq->trans_start
instead.
This can be done generically in core network, as suggested by David.
Some devices, (particularly loopback) dont need trans_start update, because
they dont have transmit watchdog. We could add a new device flag, or rely
on fact that txq->tran_start can be updated is txq->xmit_lock_owner is
different than -1. Use a helper function to hide our choice.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/netdevice.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index ae3c2099a04b..586b71f0358c 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -1674,6 +1674,12 @@ static inline void __netif_tx_unlock_bh(struct netdev_queue *txq) | |||
1674 | spin_unlock_bh(&txq->_xmit_lock); | 1674 | spin_unlock_bh(&txq->_xmit_lock); |
1675 | } | 1675 | } |
1676 | 1676 | ||
1677 | static inline void txq_trans_update(struct netdev_queue *txq) | ||
1678 | { | ||
1679 | if (txq->xmit_lock_owner != -1) | ||
1680 | txq->trans_start = jiffies; | ||
1681 | } | ||
1682 | |||
1677 | /** | 1683 | /** |
1678 | * netif_tx_lock - grab network device transmit lock | 1684 | * netif_tx_lock - grab network device transmit lock |
1679 | * @dev: network device | 1685 | * @dev: network device |