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 net: fddi: skfp: rmt: Clean up some inconsistent indenting 2023-04-11 12:46:26 +02:00
fjes
hamradio hamradio: drop ISA_DMA_API dependency 2023-04-19 13:11:41 +01:00
hippi
hyperv hv_netvsc: Remove second mapping of send and recv buffers 2023-04-17 19:19:04 +00:00
ieee802154 spi: Updates for v6.4 2023-04-27 11:02:26 -07:00
ipa Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-03-30 14:43:03 -07:00
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 driver core: bus: mark the struct bus_type for sysfs callbacks as constant 2023-03-23 13:20:40 +01:00
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 driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
pse-pd
slip
team net: fix stack overflow when LRO is disabled for virtual interfaces 2023-05-19 22:46:37 -07:00
thunderbolt net: thunderbolt: Fix typos in comments 2023-04-12 21:09:12 -07:00
usb net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818 2023-05-29 22:03:48 -07:00
vmxnet3 net: vmxnet3: Fix NULL pointer dereference in vmxnet3_rq_rx_complete() 2023-04-19 09:03:05 +01:00
vxlan vxlan: Expose helper vxlan_build_gbp_hdr 2023-03-17 22:41:16 -07:00
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 xen/netback: use same error messages for same errors 2023-03-30 15:39:23 +02:00
amt.c
bareudp.c
dummy.c
eql.c
geneve.c net: geneve: accept every ethertype 2023-03-21 13:39:29 +01:00
gtp.c
ifb.c
Kconfig net: veth: add page_pool stats 2023-04-24 18:07:08 -07:00
LICENSE.SRC
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 macvlan: Fix mc_filter calculation 2023-03-31 08:56:42 +01:00
macvtap.c drivers: remove struct module * setting from struct class 2023-03-17 15:16:27 +01:00
Makefile
mdio.c
mhi_net.c
mii.c
net_failover.c net/net_failover: fix txq exceeding warning 2023-03-27 08:08:57 +01:00
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c driver core: class: remove struct class_interface * from callbacks 2023-04-03 21:42:52 +02:00
sb1000.c
Space.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