igbvf: use netif_carrier_off earlier when bringing if down
Use netif_carrier_off() first, since that will prevent the stack from queuing more packets to this IF. This operation is fast, and should behave much nicer when trying to bring down an interface under load. Reported-by: Eliezer Tamir <eliezer.tamir@linux.intel.com> Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
这个提交包含在:
@@ -1519,6 +1519,7 @@ void igbvf_down(struct igbvf_adapter *adapter)
|
||||
rxdctl = er32(RXDCTL(0));
|
||||
ew32(RXDCTL(0), rxdctl & ~E1000_RXDCTL_QUEUE_ENABLE);
|
||||
|
||||
netif_carrier_off(netdev);
|
||||
netif_stop_queue(netdev);
|
||||
|
||||
/* disable transmits in the hardware */
|
||||
@@ -1535,8 +1536,6 @@ void igbvf_down(struct igbvf_adapter *adapter)
|
||||
|
||||
del_timer_sync(&adapter->watchdog_timer);
|
||||
|
||||
netif_carrier_off(netdev);
|
||||
|
||||
/* record the stats before reset*/
|
||||
igbvf_update_stats(adapter);
|
||||
|
||||
|
在新工单中引用
屏蔽一个用户