ice: manage interrupts during poll exit
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Wed, 31 Mar 2021 21:16:58 +0000 (14:16 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 15 Apr 2021 00:00:05 +0000 (17:00 -0700)
commitb7306b42beaf6abdbcb49849b5254ad06321abd1
tree639d8b8aebc1f576e2dcfd17ec66f10420daacb9
parentcdf1f1f169179659621bb540575b3a9d1cd38072
ice: manage interrupts during poll exit

The driver would occasionally miss that there were outstanding
descriptors to clean when exiting busy/napi poll. This issue has
been in the code since the introduction of the ice driver.

Attempt to "catch" any remaining work by triggering a software
interrupt when exiting napi poll or busy-poll. This will not
cause extra interrupts in the case of normal execution.

This issue was found when running sfnt-pingpong, with busy
poll enabled, and typically with larger I/O sizes like > 8192,
the program would occasionally report > 1 second maximums
to complete a ping pong.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_hw_autogen.h
drivers/net/ethernet/intel/ice/ice_txrx.c