linux_dsm_epyc7002/drivers/net/ethernet
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
..
3com drivers/net: Use setup_timer and mod_timer 2015-02-11 19:40:12 -08:00
8390 ne2k-pci: Add pci_disable_device in error handling 2014-12-27 02:20:55 -05:00
adaptec
adi
aeroflex
agere et131x: use msecs_to_jiffies for conversions 2015-02-11 19:37:43 -08:00
allwinner net: sun4i-emac: fix error return code 2014-12-31 19:19:00 -05:00
alteon net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
altera net: eth: altera: Change reset_mac failure message masks from err to dbg 2015-02-19 15:23:42 -05:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-02-10 20:01:30 -08:00
apm drivers: net: xgene: Make xgene_enet_of_match depend on CONFIG_OF 2015-02-11 19:39:08 -08:00
apple
arc
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-15 00:53:17 -05:00
broadcom bnx2-cnic: Driver Version Update 2015-02-20 15:46:49 -05:00
brocade bna: Update the Driver and Firmware Version 2015-02-21 22:05:23 -05:00
cadence net: macb: Add big endian CPU support 2015-02-20 15:51:31 -05:00
calxeda
chelsio Merge branch 'debugfs_automount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-02-17 15:18:19 -08:00
cirrus Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-05 14:33:28 -08:00
cisco enic: enic_main: fix sparse warnings 2015-02-05 16:03:27 -08:00
davicom dm9000: Add regulator and reset support to dm9000 2015-01-15 14:08:07 -05:00
dec net/tulip: don't warn about unknown ARM architecture 2015-02-02 18:53:34 -08:00
dlink
emulex be2net: move be_func_init() call inside be_setup() 2015-02-23 15:08:32 -05:00
faraday
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-05 14:33:28 -08:00
fujitsu
hisilicon net: hip04: add missing MODULE_LICENSE 2015-02-02 18:51:03 -08:00
hp hp100: fix misspelling of current function in string 2014-12-09 16:18:47 -05:00
i825xx
ibm IBM-EMAC: Delete an unnecessary check before the function call "of_dev_put" 2015-02-04 20:29:47 -08:00
icplus
intel i40e/i40evf: Refactor the receive routines 2015-02-23 17:11:56 -08:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-27 16:59:56 -08:00
mellanox net/mlx5_core: Fix configuration of log_uar_page_sz 2015-02-11 19:42:23 -08:00
micrel ksz884x: Use setup_timer 2014-12-30 18:34:23 -05:00
microchip
moxa
myricom myri10ge: Delete an unnecessary check before the function call "kfree" 2015-02-05 00:25:10 -08:00
natsemi net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
neterion vxge: fix sparse warning 2015-02-05 16:07:06 -08:00
nuvoton
nvidia net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
nxp
octeon
oki-semi
packetengines
pasemi net-PA Semi: Deletion of unnecessary checks before the function call "pci_dev_put" 2014-12-05 21:14:20 -08:00
qlogic qlcnic: Delete existing multicast MAC list before adding new 2015-02-11 19:43:22 -08:00
qualcomm net: qualcomm: Fix dependency 2014-11-11 18:12:32 -05:00
rdc
realtek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-02-10 20:01:30 -08:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-27 16:59:56 -08:00
rocker net: rocker: Add support for retrieving port level statistics 2015-02-01 23:17:39 -08:00
samsung Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-09 14:35:57 -08:00
seeq
sfc ethtool: Support for configurable RSS hash function 2014-12-08 21:07:10 -05:00
sgi
silan
sis
smsc net: smc91x: Add Atari EtherNAT support 2015-01-15 19:32:58 -05:00
stmicro stmmac: DMA threshold mode or SF mode can be different among multiple device instance 2015-02-01 23:14:24 -08:00
sun sunvnet: failed trigger should not cause BUG_ON() 2015-02-20 17:44:24 -05:00
tehuti net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
ti net: ethernet: ti/cpsw-common.c: fix sparse warning 2015-02-05 00:27:49 -08:00
tile tile: use %*pb[l] to print bitmaps including cpumasks and nodemasks 2015-02-13 21:21:37 -08:00
toshiba
tundra
via mii: Handle link state changes for forced modes in mii_check_media() 2015-01-19 15:43:42 -05:00
wiznet Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
xilinx net: axienet: fix error return code 2014-12-31 19:19:00 -05:00
xircom
xscale
dnet.c net: dnet: fix dnet_poll() 2015-01-11 21:44:55 -05:00
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
jme.h
Kconfig net: s6gmac: remove driver 2014-12-22 16:29:03 -05:00
korina.c
lantiq_etop.c
Makefile net: s6gmac: remove driver 2014-12-22 16:29:03 -05:00
netx-eth.c