1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/intel/i40evf
Mitch Williams a132af24e8 i40e/i40evf: Refactor the receive routines
Split the receive hot path code into two, one for packet split and one
for single buffer. This improves receive performance since we only need
to check if the ring is in packet split mode once per NAPI poll time,
not several times per packet. The single buffer code is further improved
by the removal of a bunch of code and several variables that are not
needed. On a receive-oriented test this can improve single-threaded
throughput.

Also refactor the packet split receive path to use a fixed buffer for
headers, like ixgbe does. This vastly reduces the number of DMA mappings
and unmappings we need to do, allowing for much better performance in
the presence of an IOMMU.

Lastly, correct packet split descriptor types now that we are actually
using them.

Change-ID: I3a194a93af3d2c31e77ff17644ac7376da6f3e4b
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by:  Jim Young <james.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-02-23 17:11:56 -08:00
..
i40e_adminq.c i40e: let firmware catch the NVM busy error 2014-12-09 12:57:02 -08:00
i40e_adminq.h i40e/i40evf: Increase ASQ timeout 2015-01-16 03:56:50 -08:00
i40e_adminq_cmd.h i40e: AQ API updates for new commands 2015-01-16 05:20:37 -08:00
i40e_alloc.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_common.c i40evf: Add support for 10G base T parts 2014-11-03 01:38:41 -08:00
i40e_hmc.h i40e/i40evf: Force a shifted '1' to be unsigned 2014-07-02 19:02:19 -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: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_prototype.h i40e/i40evf: add max buf len to aq debug print helper 2014-08-27 00:40:14 -07:00
i40e_register.h i40e/i40evf: i40e_register.h update 2014-06-19 20:22:02 -07:00
i40e_status.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_txrx.c i40e/i40evf: Refactor the receive routines 2015-02-23 17:11:56 -08:00
i40e_txrx.h i40e/i40evf: Refactor the receive routines 2015-02-23 17:11:56 -08:00
i40e_type.h i40e: Support for NPAR iSCSI partition with DCB 2015-01-16 05:21:04 -08:00
i40e_virtchnl.h i40e: Add a virtual channel op to config RSS 2014-12-06 03:53:48 -08:00
i40evf.h i40evf: make checkpatch happy 2014-11-20 14:56:43 -08:00
i40evf_ethtool.c ethtool: Support for configurable RSS hash function 2014-12-08 21:07:10 -05:00
i40evf_main.c i40e/i40evf: Refactor the receive routines 2015-02-23 17:11:56 -08:00
i40evf_virtchnl.c i40evf: kick a stalled admin queue 2015-01-13 11:47:44 -08:00
Makefile i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00