linux_dsm_epyc7002/drivers/net/ethernet
Jakub Kicinski abeeec4adf nfp: complete the XDP TX ring only when it's full
Since XDP TX ring holds "spare" RX buffers anyway, we don't have to
rush the completion.  We can wait until ring fills up completely
before trying to reclaim buffers.  If RX poll has ended an no
buffer has been queued for XDP TX we have no guarantee we will see
another interrupt, so run the reclaim there as well, to make sure
TX statistics won't become stale.

This should help us reclaim more buffers per single queue controller
register read.

Note that the XDP completion is very trivial, it only adds up
the sizes of transmitted frames for statistics so the latency
spike should be acceptable.  In case user sets the ring sizes
to something crazy, limit the completion to 2k entries.

The check if the ring is empty at the beginning of xdp_complete()
is no longer needed - the callers will perform it.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-16 12:59:03 -04:00
..
3com Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
8390
adaptec
adi
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon
amd Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
apm drivers: net: xgene: Fix redundant prefetch buffer cleanup 2017-05-16 11:41:11 -04:00
apple
aquantia ethernet: aquantia: remove redundant checks on error status 2017-05-11 21:42:17 -04:00
arc
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-05-09 15:42:31 -07:00
aurora
broadcom bnxt: add dma mapping attributes 2017-05-16 11:52:43 -04:00
brocade bna: ethtool: Avoid reading past end of buffer 2017-05-08 14:41:42 -04:00
cadence net: macb: fix phy interrupt parsing 2017-04-30 22:21:49 -04:00
calxeda
cavium net: thunderx: Optimize page recycling for XDP 2017-05-02 15:41:22 -04:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-05-09 15:42:31 -07:00
cirrus Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
cisco
davicom
dec Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
dlink
emulex benet: Use time_before_eq for time comparison 2017-05-01 11:12:46 -04:00
ezchip
faraday
freescale powerpc updates for 4.12 part 2 2017-05-12 10:04:09 -07:00
fujitsu
hisilicon format-security: move static strings to const 2017-05-08 17:15:14 -07:00
hp
i825xx
ibm ibmvnic: Move queue restarting in ibmvnic_tx_complete 2017-05-03 11:33:06 -04:00
intel pci-v4.12-changes 2017-05-08 19:03:25 -07:00
marvell
mediatek
mellanox mlx5-fixes-2017-05-12 2017-05-15 14:38:04 -04:00
micrel
microchip
moxa
myricom
natsemi format-security: move static strings to const 2017-05-08 17:15:14 -07:00
neterion
netronome nfp: complete the XDP TX ring only when it's full 2017-05-16 12:59:03 -04:00
nuvoton
nvidia forcedeth: remove unnecessary carrier status check 2017-05-04 10:57:41 -04:00
nxp
oki-semi
packetengines
pasemi
qlogic qed: Fix uninitialized data in aRFS infrastructure 2017-05-15 14:31:27 -04:00
qualcomm net: qca_spi: Fix alignment issues in rx path 2017-05-11 12:14:12 -04:00
rdc
realtek Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
renesas
rocker
samsung scripts/spelling.txt: add "intialise(d)" pattern and fix typo instances 2017-05-08 17:15:13 -07:00
seeq
sfc sfc: revert changes to NIC revision numbers 2017-05-12 12:22:53 -04:00
sgi
silan
sis
smsc Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
stmicro net: stmmac: use correct pointer when printing normal descriptor ring 2017-05-15 10:02:19 -04:00
sun ldmvsw: stop the clean timer at beginning of remove 2017-05-15 15:36:08 -04:00
synopsys
tehuti
ti net: netcp: fix check of requested timestamping filter 2017-05-15 15:21:03 -04:00
tile
toshiba format-security: move static strings to const 2017-05-08 17:15:14 -07:00
tundra
via
wiznet
xilinx
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig
korina.c
lantiq_etop.c
Makefile
netx-eth.c