mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-11 11:56:48 +00:00
igb: remove redundant timer updates and cleanup watchdog_task
The igb watchdog task is modifying the watchdog timer twice duing a single run. It only needs to be called once to reschedule itself for 2 seconds from the last time it ran. In addition I removed the allocation of the mac_info structure since it is only called twice and is easier to access via the e1000_hw struct. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
eebbbdba5e
commit
4b1a987736
@ -2314,13 +2314,10 @@ static void igb_watchdog_task(struct work_struct *work)
|
||||
struct igb_adapter *adapter = container_of(work,
|
||||
struct igb_adapter, watchdog_task);
|
||||
struct e1000_hw *hw = &adapter->hw;
|
||||
|
||||
struct net_device *netdev = adapter->netdev;
|
||||
struct igb_ring *tx_ring = adapter->tx_ring;
|
||||
struct e1000_mac_info *mac = &adapter->hw.mac;
|
||||
u32 link;
|
||||
u32 eics = 0;
|
||||
s32 ret_val;
|
||||
int i;
|
||||
|
||||
link = igb_has_link(adapter);
|
||||
@ -2365,6 +2362,7 @@ static void igb_watchdog_task(struct work_struct *work)
|
||||
netif_carrier_on(netdev);
|
||||
netif_tx_wake_all_queues(netdev);
|
||||
|
||||
/* link state has changed, schedule phy info update */
|
||||
if (!test_bit(__IGB_DOWN, &adapter->state))
|
||||
mod_timer(&adapter->phy_info_timer,
|
||||
round_jiffies(jiffies + 2 * HZ));
|
||||
@ -2378,6 +2376,8 @@ static void igb_watchdog_task(struct work_struct *work)
|
||||
netdev->name);
|
||||
netif_carrier_off(netdev);
|
||||
netif_tx_stop_all_queues(netdev);
|
||||
|
||||
/* link state has changed, schedule phy info update */
|
||||
if (!test_bit(__IGB_DOWN, &adapter->state))
|
||||
mod_timer(&adapter->phy_info_timer,
|
||||
round_jiffies(jiffies + 2 * HZ));
|
||||
@ -2387,9 +2387,9 @@ static void igb_watchdog_task(struct work_struct *work)
|
||||
link_up:
|
||||
igb_update_stats(adapter);
|
||||
|
||||
mac->tx_packet_delta = adapter->stats.tpt - adapter->tpt_old;
|
||||
hw->mac.tx_packet_delta = adapter->stats.tpt - adapter->tpt_old;
|
||||
adapter->tpt_old = adapter->stats.tpt;
|
||||
mac->collision_delta = adapter->stats.colc - adapter->colc_old;
|
||||
hw->mac.collision_delta = adapter->stats.colc - adapter->colc_old;
|
||||
adapter->colc_old = adapter->stats.colc;
|
||||
|
||||
adapter->gorc = adapter->stats.gorc - adapter->gorc_old;
|
||||
|
Loading…
x
Reference in New Issue
Block a user