OpenCloudOS-Kernel/drivers/net/ethernet
Yunsheng Lin 8c30e19460 net: hns3: optimize the rx clean process
Currently HNS3_RING_RX_RING_FBDNUM_REG register is read to determine
how many rx desc can be cleaned. To avoid the register read operation
in the critical data path, use the valid bit in the rx desc to determine
if a specific rx desc can be cleaned.

The hns3 driver clear valid bit in the rx desc before notifying the
rx desc to the hw, and hw will only set the valid bit of the rx desc
after corresponding buffer is filled with packet data and other field
in the rx desc is set accordingly.

Add hns3_rx_ring_move_fw() function to clear the valid bit in the rx
desc before moving rx ring's next_to_clean forward to avoid double
cleaning a rx desc, also add a dma_rmb() barrier in hns3_handle_rx_bd()
to make sure valid bit is set before reading other field in the rx desc.

Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-09-17 16:14:28 -07:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
8390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
adaptec starfire: switch from 'pci_' to 'dma_' API 2020-08-24 17:33:11 -07:00
aeroflex Replace HTTP links with HTTPS ones: GRETH 10/100/1G Ethernet MAC device driver 2020-07-07 15:44:27 -07:00
agere net: ethernet: et131x: Remove redundant register read 2020-07-17 18:48:15 -07:00
alacritech treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
allwinner treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
alteon net: alteon: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
altera treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
amazon net: ena: xdp: add queue counters for xdp actions 2020-09-10 15:12:27 -07:00
amd net: amd-xgbe: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
apm net: xgene: Move shared header file into include/linux 2020-08-27 06:55:50 -07:00
apple treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
aquantia net: atlantic: Use readx_poll_timeout() for large timeout 2020-08-19 16:25:29 -07:00
arc net: arc_emac: Fix memleak in arc_mdio_probe 2020-08-24 17:59:44 -07:00
atheros net: ag71xx: add flow control support 2020-09-11 14:45:54 -07:00
aurora net: nb8800: fix nb8800_xmit()'s return type 2020-06-28 20:52:53 -07:00
broadcom bnxt: add pause frame stats 2020-09-15 13:26:29 -07:00
brocade treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
cadence net: macb: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
calxeda
cavium liquidio: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
chelsio cxgb4vf: convert to use DEFINE_SEQ_ATTRIBUTE macro 2020-09-16 17:39:00 -07:00
cirrus ethernet: cirrus: Remove unused macros 2020-08-18 12:54:47 -07:00
cisco net: remove napi_hash_del() from driver-facing API 2020-09-10 13:08:46 -07:00
cortina net: gemini: Clean up phy registration 2020-09-06 12:27:00 -07:00
davicom treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
dec tulip: switch from 'pci_' to 'dma_' API 2020-09-13 14:42:21 -07:00
dlink net: sundance: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
emulex treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ezchip treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
faraday treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
freescale net: fec: ptp: remove unused variable 'ns' in fec_time_keep() 2020-09-14 13:42:50 -07:00
fujitsu treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
google gve: Enable Link Speed Reporting in the driver. 2020-09-11 14:31:54 -07:00
hisilicon net: hns3: optimize the rx clean process 2020-09-17 16:14:28 -07:00
huawei hinic: add vxlan segmentation and cs offload support 2020-09-14 13:59:15 -07:00
i825xx treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
ibm ibmvnic: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
intel ixgbe: add pause frame stats 2020-09-15 13:26:29 -07:00
marvell net: pxa168_eth: remove unused variable 'retval' int pxa168_eth_change_mtu() 2020-09-14 13:43:38 -07:00
mediatek treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mellanox mlxsw: spectrum_buffers: Manage internal buffer in the hdroom code 2020-09-16 15:19:30 -07:00
micrel net: micrel: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
microchip treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
moxa treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
mscc treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
myricom net: remove napi_hash_del() from driver-facing API 2020-09-10 13:08:46 -07:00
natsemi net: natsemi: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
neterion net: ethernet/neterion/vxge: fix spelling of "functionality" 2020-09-08 20:26:13 -07:00
netronome nfp: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
ni net: nixge: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
nvidia treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
nxp
oki-semi treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
packetengines treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pasemi treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
pensando ionic: dynamic interrupt moderation 2020-09-16 17:35:47 -07:00
qlogic net: qlcnic: remove unused variable 'val' in qlcnic_83xx_cam_unlock() 2020-09-14 13:44:12 -07:00
qualcomm net: ethernet: qualcomm: constify qca_serdev_ops 2020-08-26 16:21:17 -07:00
rdc r6040: switch from 'pci_' to 'dma_' API 2020-07-20 17:49:50 -07:00
realtek Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
rocker rocker: switch from 'pci_' to 'dma_' API 2020-09-12 18:26:28 -07:00
samsung treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
seeq treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
sfc sfc: advertise encapsulated offloads on EF10 2020-09-11 17:15:22 -07:00
sgi net: sgi: ioc3-eth: Fix the size used in some 'dma_free_coherent()' calls 2020-08-03 16:00:26 -07:00
silan net: silan: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
sis treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
smsc net: smc91x: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
socionext treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
stmicro net: stmmac: Add support to Ethtool get/set ring parameters 2020-09-16 15:22:52 -07:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
synopsys net: dwc-xlgmac: fix xlgmac_xmit()'s return type 2020-06-28 20:52:53 -07:00
tehuti net: tehuti: switch from 'pci_' to 'dma_' API 2020-09-12 18:26:29 -07:00
ti tlan: switch from 'pci_' to 'dma_' API 2020-09-12 18:26:28 -07:00
toshiba net: tc35815: switch from 'pci_' to 'dma_' API 2020-09-08 20:16:19 -07:00
tundra treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
via via-velocity: Use more typical logging styles 2020-08-04 12:54:49 -07:00
wiznet treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
xilinx net: xilinx: remove redundant null check before clk_disable_unprepare() 2020-09-07 13:34:14 -07:00
xircom treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
xscale treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
dnet.c net: dnet: remove unused variable 'tx_status 'in dnet_start_xmit() 2020-09-14 13:42:09 -07:00
dnet.h
ec_bhf.c
ethoc.c
fealnx.c net/fealnx: switch from 'pci_' to 'dma_' API 2020-07-20 18:32:49 -07:00
jme.c net: jme: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
jme.h net: jme: Replace HTTP links with HTTPS ones 2020-07-13 17:45:04 -07:00
korina.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
lantiq_etop.c
lantiq_xrx200.c