Commit efe2803
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 <[email protected]>
Reviewed-by: Brian King <[email protected]>
Reviewed-by: Dave Marquardt <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
----
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/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>1 parent 0dce684 commit efe2803
1 file changed
+20
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2312 | 2312 | | |
2313 | 2313 | | |
2314 | 2314 | | |
2315 | | - | |
2316 | | - | |
2317 | 2315 | | |
2318 | 2316 | | |
2319 | 2317 | | |
| |||
2647 | 2645 | | |
2648 | 2646 | | |
2649 | 2647 | | |
2650 | | - | |
2651 | | - | |
2652 | | - | |
2653 | 2648 | | |
2654 | 2649 | | |
2655 | 2650 | | |
| |||
3452 | 3447 | | |
3453 | 3448 | | |
3454 | 3449 | | |
| 3450 | + | |
| 3451 | + | |
| 3452 | + | |
| 3453 | + | |
| 3454 | + | |
| 3455 | + | |
| 3456 | + | |
| 3457 | + | |
| 3458 | + | |
| 3459 | + | |
| 3460 | + | |
| 3461 | + | |
| 3462 | + | |
| 3463 | + | |
| 3464 | + | |
| 3465 | + | |
| 3466 | + | |
| 3467 | + | |
| 3468 | + | |
3455 | 3469 | | |
3456 | 3470 | | |
3457 | 3471 | | |
| |||
3567 | 3581 | | |
3568 | 3582 | | |
3569 | 3583 | | |
3570 | | - | |
3571 | | - | |
3572 | 3584 | | |
3573 | 3585 | | |
3574 | 3586 | | |
| |||
3678 | 3690 | | |
3679 | 3691 | | |
3680 | 3692 | | |
| 3693 | + | |
3681 | 3694 | | |
3682 | 3695 | | |
3683 | 3696 | | |
| |||
0 commit comments