net: remove dev->trans_start
previous patches removed all direct accesses to dev->trans_start, so change the netif_trans_update helper to update trans_start of netdev queue 0 instead and then remove trans_start from struct net_device. AFAICS a lot of the netif_trans_update() invocations are now useless because they occur in ndo_start_xmit and driver doesn't set LLTX (i.e. stack already took care of the update). As I can't test any of them it seems better to just leave them alone. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
860e9538a9
commit
9b36627ace
@@ -227,13 +227,12 @@ unsigned long dev_trans_start(struct net_device *dev)
|
||||
|
||||
if (is_vlan_dev(dev))
|
||||
dev = vlan_dev_real_dev(dev);
|
||||
res = dev->trans_start;
|
||||
for (i = 0; i < dev->num_tx_queues; i++) {
|
||||
res = netdev_get_tx_queue(dev, 0)->trans_start;
|
||||
for (i = 1; i < dev->num_tx_queues; i++) {
|
||||
val = netdev_get_tx_queue(dev, i)->trans_start;
|
||||
if (val && time_after(val, res))
|
||||
res = val;
|
||||
}
|
||||
dev->trans_start = res;
|
||||
|
||||
return res;
|
||||
}
|
||||
@@ -256,10 +255,7 @@ static void dev_watchdog(unsigned long arg)
|
||||
struct netdev_queue *txq;
|
||||
|
||||
txq = netdev_get_tx_queue(dev, i);
|
||||
/*
|
||||
* old device drivers set dev->trans_start
|
||||
*/
|
||||
trans_start = txq->trans_start ? : dev->trans_start;
|
||||
trans_start = txq->trans_start;
|
||||
if (netif_xmit_stopped(txq) &&
|
||||
time_after(jiffies, (trans_start +
|
||||
dev->watchdog_timeo))) {
|
||||
|
Reference in New Issue
Block a user