linux-stable/drivers/net/ethernet
Haiyang Zhang 1919b39fc6 net: mana: Fix perf regression: remove rx_cqes, tx_cqes counters
The apc->eth_stats.rx_cqes is one per NIC (vport), and it's on the
frequent and parallel code path of all queues. So, r/w into this
single shared variable by many threads on different CPUs creates a
lot caching and memory overhead, hence perf regression. And, it's
not accurate due to the high volume concurrent r/w.

For example, a workload is iperf with 128 threads, and with RPS
enabled. We saw perf regression of 25% with the previous patch
adding the counters. And this patch eliminates the regression.

Since the error path of mana_poll_rx_cq() already has warnings, so
keeping the counter and convert it to a per-queue variable is not
necessary. So, just remove this counter from this high frequency
code path.

Also, remove the tx_cqes counter for the same reason. We have
warnings & other counters for errors on that path, and don't need
to count every normal cqe processing.

Cc: stable@vger.kernel.org
Fixes: bd7fc6e195 ("net: mana: Add new MANA VF performance counters for easier troubleshooting")
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/1685115537-31675-1-git-send-email-haiyangz@microsoft.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2023-05-30 12:05:22 +02:00
..
3com 3c589_cs: Fix an error handling path in tc589_probe() 2023-05-22 19:17:58 -07:00
8390 net: isa: include net/Space.h 2023-05-17 21:27:30 -07:00
actions net: Remove C45 check in C22 only MDIO bus drivers 2023-01-20 18:12:45 -08:00
adaptec
adi net: Replace all spi->chip_select and spi->cs_gpiod references with function call 2023-03-11 12:34:02 +00:00
aeroflex
agere
alacritech
allwinner
alteon net: alteon: remove unused len variable 2023-04-02 13:43:43 +01:00
altera
amazon net: ena: removed unused tx_bytes variable 2023-03-29 21:39:35 -07:00
amd amd-xgbe: fix the false linkup in xgbe_phy_status 2023-05-26 10:42:06 +01:00
apm
apple
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2023-05-05 13:35:45 -07:00
arc
asix net: Replace all spi->chip_select and spi->cs_gpiod references with function call 2023-03-11 12:34:02 +00:00
atheros net: atheros: atl1c: remove unused atl1c_irq_reset function 2023-03-21 21:18:54 -07:00
broadcom net: bcmgenet: Restore phy_stop() depending upon suspend/close 2023-05-16 09:34:38 +02:00
brocade
cadence net: macb: Optimize reading HW timestamp 2023-04-13 22:16:09 -07:00
calxeda
cavium net: liquidio: Remove redundant pci_clear_master 2023-03-24 09:09:27 +00:00
chelsio Networking changes for 6.4. 2023-04-26 16:07:23 -07:00
cirrus net: isa: include net/Space.h 2023-05-17 21:27:30 -07:00
cisco
cortina
davicom spi: Updates for v6.4 2023-04-27 11:02:26 -07:00
dec
dlink
emulex net: vlan: introduce skb_vlan_eth_hdr() 2023-04-23 14:16:44 +01:00
engleder tsnep: Add XDP socket zero-copy TX support 2023-04-24 18:22:38 -07:00
ezchip
faraday
freescale net: fec: add dma_wmb to ensure correct descriptor values 2023-05-19 09:17:53 +01:00
fujitsu
fungible net/fungible: Remove redundant pci_clear_master 2023-03-24 09:09:27 +00:00
google gve: Remove the code of clearing PBA bit 2023-05-10 10:30:46 +01:00
hisilicon net: hns3: fix reset timeout when enable full VF 2023-05-13 17:12:23 +01:00
huawei
i825xx i825xx: sni_82596: use eth_hw_addr_set() 2023-03-16 17:35:21 -07:00
ibm mm, treewide: redefine MAX_ORDER sanely 2023-04-05 19:42:46 -07:00
intel igb: fix bit_shift to be in [1..8] range 2023-05-17 09:25:04 +01:00
litex
marvell octeontx2-pf: Fix TSOv6 offload 2023-05-19 08:57:47 +01:00
mediatek net: ethernet: mtk_eth_soc: fix QoS on DSA MAC on non MTK_NETSYS_V2 SoCs 2023-05-24 08:04:41 +01:00
mellanox mlx5-fixes-2023-05-24 2023-05-25 21:09:41 -07:00
micrel ksz884x: Remove unused functions 2023-04-12 09:38:19 +01:00
microchip lan966x: Fix unloading/loading of the driver 2023-05-23 13:01:06 +02:00
microsoft net: mana: Fix perf regression: remove rx_cqes, tx_cqes counters 2023-05-30 12:05:22 +02:00
moxa
mscc net: mscc: ocelot: fix stat counter register values 2023-05-10 12:11:18 +01:00
myricom
natsemi net/sonic: use dma_mapping_error() for error check 2023-03-21 21:29:34 -07:00
neterion
netronome nfp: fix NFP_NET_MAX_DSCP definition error 2023-05-12 08:55:47 +01:00
ni net: ni: drop of_match_ptr for ID table 2023-03-15 08:02:45 +00:00
nvidia forcedeth: Fix an error handling path in nv_probe() 2023-05-22 19:17:28 -07:00
nxp
oki-semi
packetengines
pasemi net: pasemi: Fix return type of pasemi_mac_start_tx() 2023-03-21 13:48:35 +01:00
pensando ionic: catch failure from devlink_alloc 2023-05-03 09:14:47 +01:00
qlogic net: vlan: introduce skb_vlan_eth_hdr() 2023-04-23 14:16:44 +01:00
qualcomm spi: Updates for v6.4 2023-04-27 11:02:26 -07:00
rdc
realtek r8169: Use a raw_spinlock_t for the register locks. 2023-05-23 20:38:12 -07:00
renesas Revert "sh_eth: remove open coded netif_running()" 2023-03-28 19:23:32 -07:00
rocker
samsung net: samsung: sxgbe: drop of_match_ptr for ID table 2023-03-15 08:02:45 +00:00
seeq
sfc sfc: fix devlink info error handling 2023-05-19 08:55:56 +01:00
sgi
silan
sis
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-03-30 14:43:03 -07:00
socionext drivers: net: turn on XDP features 2023-02-02 20:48:23 -08:00
stmicro net: stmmac: fix call trace when stmmac_xdp_xmit() is invoked 2023-05-25 21:01:35 -07:00
sun cassini: Fix a memory leak in the error handling path of cas_init_one() 2023-05-17 09:06:44 +01:00
sunplus ethernet: remove superfluous clearing of phydev 2023-03-22 20:47:27 -07:00
synopsys
tehuti
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-04-13 16:04:28 -07:00
toshiba net/ps3_gelic_net: Use dma_mapping_error 2023-03-20 10:20:40 +00:00
tundra
vertexcom
via net: Use of_property_read_bool() for boolean properties 2023-03-16 17:41:28 +00:00
wangxun net: libwx: fix memory leak in wx_setup_rx_resources 2023-04-20 15:39:15 +02:00
wiznet
xilinx net: Use of_property_read_bool() for boolean properties 2023-03-16 17:41:28 +00:00
xircom xirc2ps_cs: Fix use after free bug in xirc2ps_detach 2023-03-19 10:42:02 +00:00
xscale
dnet.c
dnet.h
ec_bhf.c ethernet: ec_bhf: Remove redundant pci_clear_master 2023-03-24 09:09:28 +00:00
ethoc.c
fealnx.c eth: fealnx: bring back this old driver 2023-03-08 23:22:04 -08:00
jme.c
jme.h
Kconfig net: restore alpha order to Ethernet devices in config 2023-03-09 23:36:28 -08:00
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile eth: fealnx: bring back this old driver 2023-03-08 23:22:04 -08:00