mirror-linux/drivers/net
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
..
appletalk
arcnet
bonding net: fix stack overflow when LRO is disabled for virtual interfaces 2023-05-19 22:46:37 -07:00
caif
can can: kvaser_pciefd: Disable interrupts in probe error path 2023-05-17 09:02:40 +02:00
dsa net: dsa: mv88e6xxx: Fix mv88e6393x EPC write command offset 2023-05-17 09:08:02 +01:00
ethernet net: mana: Fix perf regression: remove rx_cqes, tx_cqes counters 2023-05-30 12:05:22 +02:00
fddi
fjes
hamradio
hippi
hyperv
ieee802154 spi: Updates for v6.4 2023-04-27 11:02:26 -07:00
ipa
ipvlan ipvlan:Fix out-of-bounds caused by unclear skb->cb 2023-05-10 10:33:06 +01:00
mctp
mdio net: mdio: i2c: fix rollball accessors 2023-05-15 10:15:57 +01:00
netdevsim
pcs net: pcs: xpcs: fix C73 AN not getting enabled 2023-05-17 12:59:53 +01:00
phy net: phy: mscc: enable VSC8501/2 RGMII RX clock 2023-05-24 22:14:23 -07:00
plip
ppp
pse-pd
slip
team net: fix stack overflow when LRO is disabled for virtual interfaces 2023-05-19 22:46:37 -07:00
thunderbolt
usb net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818 2023-05-29 22:03:48 -07:00
vmxnet3
vxlan
wan spi: Updates for v6.4 2023-04-27 11:02:26 -07:00
wireguard
wireless wifi: b43: fix incorrect __packed annotation 2023-05-17 09:24:09 +03:00
wwan net: wwan: t7xx: Ensure init is completed before system sleep 2023-05-17 13:02:25 +01:00
xen-netback
Kconfig net: veth: add page_pool stats 2023-04-24 18:07:08 -07:00
LICENSE.SRC
Makefile
Space.c
amt.c
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
loopback.c
macsec.c macsec: Don't rely solely on the dst MAC address to identify destination MACsec device 2023-04-21 08:22:15 +01:00
macvlan.c
macvtap.c
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c
tap.c net: add vlan_get_protocol_and_depth() helper 2023-05-10 10:25:55 +01:00
tun.c tun: Fix memory leak for detached NAPI queue. 2023-05-17 09:02:55 +01:00
veth.c net: veth: add page_pool stats 2023-04-24 18:07:08 -07:00
virtio_net.c virtio_net: Fix error unwinding of XDP initialization 2023-05-15 08:46:48 +01:00
vrf.c
vsockmon.c
xen-netfront.c