2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/net/ethernet/ibm
Mingming Cao efe28034ea ibmvnic: Use ndo_get_stats64 to fix inaccurate SAR reporting
VNIC testing on multi-core Power systems showed SAR stats drift
and packet rate inconsistencies under load.

Implements ndo_get_stats64 to provide safe aggregation of queue-level
atomic64 counters into rtnl_link_stats64 for use by tools like 'ip -s',
'ifconfig', and 'sar'. Switch to ndo_get_stats64 to align SAR reporting
with the standard kernel interface for retrieving netdev stats.

This removes redundant per-adapter stat updates, reduces overhead,
eliminates cacheline bouncing from hot path updates, and improves
the accuracy of reported packet rates.

Signed-off-by: Mingming Cao <mmc@linux.ibm.com>
Reviewed-by: Brian King <bjking1@linux.ibm.com>
Reviewed-by: Dave Marquardt <davemarq@linux.ibm.com>
Reviewed-by: Simon Horman <horms@kernel.org>

----
Changes since v3:
link to v3: https://www.spinics.net/lists/netdev/msg1107999.html
-- keep per queue counters as u64 (this patch) and drop off patch 1 in v3

Link: https://patch.msgid.link/20250716152115.61143-1-mmc@linux.ibm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-17 18:55:44 -07:00
..
ehea net: ethernet: Switch back to struct platform_driver::remove() 2024-10-04 16:39:56 -07:00
emac net: ibm: emac: Use of_get_available_child_by_name() 2025-02-07 13:43:55 +00:00
ibmveth.c net: ibmveth: Refactored veth_pool_store for better maintainability 2025-05-07 18:41:08 -07:00
ibmveth.h net: ibmveth: Reset the adapter when unexpected states are detected 2025-05-06 10:24:38 +02:00
ibmvnic.c ibmvnic: Use ndo_get_stats64 to fix inaccurate SAR reporting 2025-07-17 18:55:44 -07:00
ibmvnic.h ibmvnic: Fix hardcoded NUM_RX_STATS/NUM_TX_STATS with dynamic sizeof 2025-07-10 18:06:46 -07:00
Kconfig net: ibmveth: added KUnit tests for some buffer pool functions 2025-05-06 10:24:38 +02:00
Makefile