2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 07:04:00 +08:00
linux-next/drivers/net/ethernet/intel/i40evf
Jacob Keller 742c987575 i40e/i40evf: avoid dynamic ITR updates when polling or low packet rate
The dynamic ITR algorithm depends on a calculation of usecs which
assumes that the interrupts have been firing constantly at the interrupt
throttle rate. This is not guaranteed because we could have a low packet
rate, or have been polling in software.

We'll estimate whether this is the case by using jiffies to determine if
we've been too long. If the time difference of jiffies is larger we are
guaranteed to have an incorrect calculation. If the time difference of
jiffies is smaller we might have been polling some but the difference
shouldn't affect the calculation too much.

This ensures that we don't get stuck in BULK latency during certain rare
situations where we receive bursts of packets that force us into NAPI
polling.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-08-27 16:15:24 -07:00
..
i40e_adminq_cmd.h i40e/i40evf: update WOL and I40E_AQC_ADDR_VALID_MASK flags 2017-06-20 18:17:10 -07:00
i40e_adminq.c i40e: reduce wait time for adminq command completion 2017-04-19 17:38:25 -07:00
i40e_adminq.h i40e: reduce wait time for adminq command completion 2017-04-19 17:38:25 -07:00
i40e_alloc.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_common.c i40e: prevent snprintf format specifier truncation 2017-08-27 15:43:41 -07:00
i40e_devids.h i40evf: Add support for Adaptive Virtual Function 2017-06-01 14:30:02 -07:00
i40e_hmc.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_osdep.h i40evf: remove unnecessary __packed 2017-07-26 03:25:21 -07:00
i40e_prototype.h virtchnl: rename i40e to generic virtchnl 2017-06-01 14:08:53 -07:00
i40e_register.h i40evf: Remove PF specific register definitions from the VF 2015-08-26 15:05:17 -07:00
i40e_status.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_trace.h i40e/i40evf: Add tracepoints 2017-04-19 16:47:31 -07:00
i40e_txrx.c i40e/i40evf: avoid dynamic ITR updates when polling or low packet rate 2017-08-27 16:15:24 -07:00
i40e_txrx.h i40e/i40evf: avoid dynamic ITR updates when polling or low packet rate 2017-08-27 16:15:24 -07:00
i40e_type.h i40e: Store the requested FEC information 2017-08-27 15:43:34 -07:00
i40evf_client.c virtchnl: rename i40e to generic virtchnl 2017-06-01 14:08:53 -07:00
i40evf_client.h i40evf: add client interface 2017-03-15 01:31:38 -07:00
i40evf_ethtool.c i40e/i40evf: use cmpxchg64 when updating private flags in ethtool 2017-08-25 14:46:34 -07:00
i40evf_main.c i40e: initialize our affinity_mask based on cpu_possible_mask 2017-08-27 16:09:03 -07:00
i40evf_virtchnl.c i40e/i40evf: support for VF VLAN tag stripping control 2017-08-27 15:47:43 -07:00
i40evf.h i40e/i40evf: support for VF VLAN tag stripping control 2017-08-27 15:47:43 -07:00
Makefile i40e/i40evf: Add tracepoints 2017-04-19 16:47:31 -07:00