linux/drivers/net/ethernet/intel/i40evf
Sudheer Mogilappagari 07d44190a3 i40e/i40evf: Detect and recover hung queue scenario
In VFs, there is a known issue which can cause writebacks
to not occur when interrupts are disabled and there are
less than 4 descriptors resulting in TX timeout. Timeout
can also occur due to lost interrupt.

The current implementation for detecting and recovering
from hung queues in the PF is problematic because it actually
actively encourages lost interrupts.  By triggering a SW
interrupt, interrupts are forced on.  If we are already in
napi_poll and an interrupt fires, napi_poll will not be
rescheduled and the interrupt is effectively lost; thereby
potentially *causing* hung queues.

This patch checks whether packets are being processed between
every watchdog cycle and determine potential hung queue and
fires triggers SW interrupt only for that particular queue.

Signed-off-by: Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-01-23 11:29:19 -08:00
..
i40e_adminq_cmd.h i40e/i40evf: Enable NVMUpdate to retrieve AdminQ and add preservation flags for NVM update 2018-01-23 11:29:19 -08:00
i40e_adminq.c
i40e_adminq.h
i40e_alloc.h
i40e_common.c i40e: track id can be 0 2018-01-10 12:41:21 -08:00
i40e_devids.h
i40e_hmc.h
i40e_lan_hmc.h
i40e_osdep.h i40evf: remove unnecessary __packed 2017-07-26 03:25:21 -07:00
i40e_prototype.h i40e: change ppp name to ddp 2018-01-10 12:41:21 -08:00
i40e_register.h
i40e_status.h
i40e_trace.h
i40e_txrx.c i40e/i40evf: Detect and recover hung queue scenario 2018-01-23 11:29:19 -08:00
i40e_txrx.h i40e/i40evf: Detect and recover hung queue scenario 2018-01-23 11:29:19 -08:00
i40e_type.h i40e/i40evf: Enable NVMUpdate to retrieve AdminQ and add preservation flags for NVM update 2018-01-23 11:29:19 -08:00
i40evf_client.c i40evf: fix client notify of l2 params 2017-11-21 23:37:58 -08:00
i40evf_client.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
i40evf_ethtool.c i40evf: Enable VF to request an alternate queue allocation 2017-10-02 12:46:35 -07:00
i40evf_main.c i40e/i40evf: Detect and recover hung queue scenario 2018-01-23 11:29:19 -08:00
i40evf_virtchnl.c i40evf: Clean-up flags for promisc mode to avoid high polling rate 2018-01-10 12:41:21 -08:00
i40evf.h i40evf: Don't schedule reset_task when device is being removed 2018-01-23 11:29:19 -08:00
Makefile