i40e: don't do link_status or stats collection on every ARQ
authorShannon Nelson <shannon.nelson@intel.com>
Sat, 25 Oct 2014 10:35:25 +0000 (10:35 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 11 Nov 2014 13:52:46 +0000 (05:52 -0800)
commit215367171badcc3c82e28be56620b9123aa8b528
treece480f80ba70eaedf105e6e8d84901be1dab0e56
parent0db4e162e6617ed0d0cb34756b86ab3dc6ad4fbf
i40e: don't do link_status or stats collection on every ARQ

The ARQ events cause a service_task execution, and we do a link_status
check and full stats gathering for each service_task.  However, when
there are a lot of ARQ events, such as when doing an NVM update, we end up
doing 10's if not 100's of these per second, thereby heavily abusing the
PCI bus and especially the Firmware.  This patch adds a check to keep the
service_task from running these periodic tasks more than once per second,
while still allowing quick action to service the events.

Change-ID: Iec7670c37bfae9791c43fec26df48aea7f70b33e
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Patrick Lu <patrick.lu@intel.com>
Tested-by: Jim Young <jamesx.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c