aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2009-05-26 01:58:01 -0400
committerDavid S. Miller <davem@davemloft.net>2009-05-26 01:58:01 -0400
commit08baf561083bc27a953aa087dd8a664bb2b88e8e (patch)
tree979d92224e21b69368a27bb684b74b3d4d744183 /include/linux
parent65ac8851490ec97a96759af729132c96f925a795 (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/linux')
-rw-r--r--include/linux/netdevice.h6
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
1677static 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