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
@@ -581,7 +581,7 @@ struct netdev_queue {
|
||||
spinlock_t _xmit_lock ____cacheline_aligned_in_smp;
|
||||
int xmit_lock_owner;
|
||||
/*
|
||||
* please use this field instead of dev->trans_start
|
||||
* Time (in jiffies) of last Tx
|
||||
*/
|
||||
unsigned long trans_start;
|
||||
|
||||
@@ -1545,7 +1545,6 @@ enum netdev_priv_flags {
|
||||
*
|
||||
* @offload_fwd_mark: Offload device fwding mark
|
||||
*
|
||||
* @trans_start: Time (in jiffies) of last Tx
|
||||
* @watchdog_timeo: Represents the timeout that is used by
|
||||
* the watchdog (see dev_watchdog())
|
||||
* @watchdog_timer: List of timers
|
||||
@@ -1794,13 +1793,6 @@ struct net_device {
|
||||
#endif
|
||||
|
||||
/* These may be needed for future network-power-down code. */
|
||||
|
||||
/*
|
||||
* trans_start here is expensive for high speed devices on SMP,
|
||||
* please use netdev_queue->trans_start instead.
|
||||
*/
|
||||
unsigned long trans_start;
|
||||
|
||||
struct timer_list watchdog_timer;
|
||||
|
||||
int __percpu *pcpu_refcnt;
|
||||
@@ -3484,7 +3476,10 @@ static inline void txq_trans_update(struct netdev_queue *txq)
|
||||
/* legacy drivers only, netdev_start_xmit() sets txq->trans_start */
|
||||
static inline void netif_trans_update(struct net_device *dev)
|
||||
{
|
||||
dev->trans_start = jiffies;
|
||||
struct netdev_queue *txq = netdev_get_tx_queue(dev, 0);
|
||||
|
||||
if (txq->trans_start != jiffies)
|
||||
txq->trans_start = jiffies;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user