linux/drivers/net/ethernet/intel/ice
Krzysztof Kazimierczak 3f0d97cdfe ice: Check UMEM FQ size when allocating bufs
If a UMEM is present on a queue when an interface/queue pair is being
enabled, the driver will try to prepare the Rx buffers in advance to
improve performance. However, if fill queue is shorter than HW Rx ring,
the driver will report failure after getting the last address from the
fill queue.

This still lets the driver process the packets correctly during the NAPI
poll, but leads to a constant NAPI rescheduling. Not allocating the
buffers in advance would result in a potential performance decrease.

Commit d57d76428a ("xsk: Add API to check for available entries in FQ")
provides an API that lets drivers check the number of addresses that the
fill queue holds.

Notify the user if fill queue is not long enough to prepare all buffers
before packet processing starts, and allocate the buffers during the
NAPI poll. If the fill queue size is sufficient, prepare Rx buffers in
advance.

Signed-off-by: Krzysztof Kazimierczak <krzysztof.kazimierczak@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2020-05-27 18:13:59 -07:00
..
ice_adminq_cmd.h ice: fix MAC write command 2020-05-27 17:06:44 -07:00
ice_arfs.c ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_arfs.h ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_base.c ice: Check UMEM FQ size when allocating bufs 2020-05-27 18:13:59 -07:00
ice_base.h ice: Add support to enable/disable all Rx queues before waiting 2020-02-15 16:39:55 -08:00
ice_common.c ice: avoid undefined behavior 2020-05-27 17:58:21 -07:00
ice_common.h ice: avoid undefined behavior 2020-05-27 17:58:21 -07:00
ice_controlq.c ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_controlq.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_dcb_lib.c ice: Fix check for contiguous TCs 2020-05-21 22:10:04 -07:00
ice_dcb_lib.h ice: Don't reset and rebuild for Tx timeout on PFC enabled queue 2020-05-21 22:10:03 -07:00
ice_dcb_nl.c ice: remove unused macro 2020-05-27 17:03:40 -07:00
ice_dcb_nl.h ice: Implement DCBNL support 2019-11-08 12:02:14 -08:00
ice_dcb.c ice: Trivial fixes 2020-02-12 11:49:12 -08:00
ice_dcb.h ice: Allow for delayed LLDP MIB change registration 2019-09-05 08:13:41 -07:00
ice_devids.h ice: fix define for E822 backplane device 2020-02-19 13:39:33 -08:00
ice_devlink.c ice: report netlist version in .info_get 2020-05-21 22:10:03 -07:00
ice_devlink.h ice: add a devlink region for dumping NVM contents 2020-03-26 19:39:26 -07:00
ice_ethtool_fdir.c ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_ethtool.c ice: cleanup unsigned loops 2020-05-22 22:27:31 -07:00
ice_fdir.c ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_fdir.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_flex_pipe.c ice: check for compatibility between DDP package and firmware 2020-05-22 22:22:50 -07:00
ice_flex_pipe.h ice: Support IPv4 Flow Director filters 2020-05-22 21:36:27 -07:00
ice_flex_type.h ice: check for compatibility between DDP package and firmware 2020-05-22 22:22:50 -07:00
ice_flow.c ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_flow.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_fltr.c ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fltr.h ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_hw_autogen.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_lan_tx_rx.h ice: avoid undefined behavior 2020-05-27 17:58:21 -07:00
ice_lib.c ice: Change number of XDP Tx queues to match number of Rx queues 2020-05-27 17:55:56 -07:00
ice_lib.h ice: Initialize Flow Director resources 2020-05-22 21:26:37 -07:00
ice_main.c ice: Change number of XDP Tx queues to match number of Rx queues 2020-05-27 17:55:56 -07:00
ice_nvm.c ice: report netlist version in .info_get 2020-05-21 22:10:03 -07:00
ice_nvm.h ice: add board identifier info to devlink .info_get 2020-03-21 01:02:19 -07:00
ice_osdep.h ice: Start hardware initialization 2018-03-26 09:59:08 -07:00
ice_protocol_type.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_sched.c ice: Fix casting issues 2020-05-21 22:10:04 -07:00
ice_sched.h ice: Add NDO callback to set the maximum per-queue bitrate 2019-11-08 11:58:49 -08:00
ice_sriov.c ice: remove unnecessary fallthrough comments 2020-02-15 16:56:48 -08:00
ice_sriov.h ice: Add handlers for VF netdevice operations 2018-10-03 07:42:30 -07:00
ice_status.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_switch.c ice: Initialize Flow Director resources 2020-05-22 21:26:37 -07:00
ice_switch.h ice: Initialize Flow Director resources 2020-05-22 21:26:37 -07:00
ice_txrx_lib.c ice: Refactor Rx checksum checks 2020-05-27 18:00:35 -07:00
ice_txrx_lib.h ice: Rename build_ctob to ice_build_ctob 2020-05-21 22:10:04 -07:00
ice_txrx.c ice: Support IPv4 Flow Director filters 2020-05-22 21:36:27 -07:00
ice_txrx.h ice: fix signed vs unsigned comparisons 2020-05-27 17:02:47 -07:00
ice_type.h ice: check for compatibility between DDP package and firmware 2020-05-22 22:22:50 -07:00
ice_virtchnl_pf.c ice: set VF default LAN address 2020-05-27 17:05:02 -07:00
ice_virtchnl_pf.h ice: print Rx MDD auto reset message before VF reset 2020-05-22 22:07:06 -07:00
ice_xsk.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-05-22 18:30:34 -07:00
ice_xsk.h ice, xsk: Migrate to new MEM_TYPE_XSK_BUFF_POOL 2020-05-21 17:31:26 -07:00
ice.h ice: Implement aRFS 2020-05-22 22:02:34 -07:00
Makefile ice: Implement aRFS 2020-05-22 22:02:34 -07:00