All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net v8 0/4] Fix race conditions in ndo_get_stats64
@ 2025-01-16  8:38 Shinas Rasheed
  2025-01-16  8:38 ` [PATCH net v8 1/4] octeon_ep: remove firmware stats fetch " Shinas Rasheed
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Shinas Rasheed @ 2025-01-16  8:38 UTC (permalink / raw)
  To: netdev, linux-kernel
  Cc: hgani, sedara, vimleshk, thaller, wizhao, kheib, konguyen, horms,
	einstein.xue, Shinas Rasheed

Fix race conditions in ndo_get_stats64 by storing tx/rx stats
locally and not availing per queue resources which could be torn
down during interface stop. Also remove stats fetch from
firmware which is currently unnecessary

Changes:
V8:
  - Reordered patches

V7: https://lore.kernel.org/all/20250114125124.2570660-1-srasheed@marvell.com/
  - Updated octep_get_stats64() to be reentrant

V6: https://lore.kernel.org/all/20250110122730.2551863-1-srasheed@marvell.com/
  - Corrected patch 2/4 which was not applying properly

V5: https://lore.kernel.org/all/20250109103221.2544467-1-srasheed@marvell.com/
  - Store tx/rx stats locally and avail use stats in ndo_get_stats64()
    instead of availing per queue resources there.

V4: https://lore.kernel.org/all/20250102112246.2494230-1-srasheed@marvell.com/
  - Check if netdev is running, as decision for accessing resources
    rather than availing lock implementations, in ndo_get_stats64()

V3: https://lore.kernel.org/all/20241218115111.2407958-1-srasheed@marvell.com/
  - Added warn log that happened due to rcu_read_lock in commit message

V2: https://lore.kernel.org/all/20241216075842.2394606-1-srasheed@marvell.com/
  - Changed sync mechanism to fix race conditions from using an atomic
    set_bit ops to a much simpler synchronize_net()

V1: https://lore.kernel.org/all/20241203072130.2316913-1-srasheed@marvell.com/

Shinas Rasheed (4):
  octeon_ep: remove firmware stats fetch in ndo_get_stats64
  octeon_ep: update tx/rx stats locally for persistence
  octeon_ep_vf: remove firmware stats fetch in ndo_get_stats64
  octeon_ep_vf: update tx/rx stats locally for persistence

 .../marvell/octeon_ep/octep_ethtool.c         | 41 ++++++++-----------
 .../ethernet/marvell/octeon_ep/octep_main.c   | 29 ++++---------
 .../ethernet/marvell/octeon_ep/octep_main.h   | 11 +++++
 .../net/ethernet/marvell/octeon_ep/octep_rx.c | 12 +++---
 .../net/ethernet/marvell/octeon_ep/octep_rx.h |  4 +-
 .../net/ethernet/marvell/octeon_ep/octep_tx.c |  7 ++--
 .../net/ethernet/marvell/octeon_ep/octep_tx.h |  4 +-
 .../marvell/octeon_ep_vf/octep_vf_ethtool.c   | 29 +++++--------
 .../marvell/octeon_ep_vf/octep_vf_main.c      | 25 ++++-------
 .../marvell/octeon_ep_vf/octep_vf_main.h      | 11 +++++
 .../marvell/octeon_ep_vf/octep_vf_rx.c        | 10 +++--
 .../marvell/octeon_ep_vf/octep_vf_rx.h        |  2 +-
 .../marvell/octeon_ep_vf/octep_vf_tx.c        |  7 ++--
 .../marvell/octeon_ep_vf/octep_vf_tx.h        |  2 +-
 14 files changed, 92 insertions(+), 102 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-01-17  5:50 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-16  8:38 [PATCH net v8 0/4] Fix race conditions in ndo_get_stats64 Shinas Rasheed
2025-01-16  8:38 ` [PATCH net v8 1/4] octeon_ep: remove firmware stats fetch " Shinas Rasheed
2025-01-16 15:44   ` Larysa Zaremba
2025-01-16  8:38 ` [PATCH net v8 2/4] octeon_ep: update tx/rx stats locally for persistence Shinas Rasheed
2025-01-16 15:26   ` Larysa Zaremba
2025-01-17  0:27     ` Jakub Kicinski
2025-01-17  4:11       ` [EXTERNAL] " Shinas Rasheed
2025-01-17  5:49         ` Shinas Rasheed
2025-01-16  8:38 ` [PATCH net v8 3/4] octeon_ep_vf: remove firmware stats fetch in ndo_get_stats64 Shinas Rasheed
2025-01-16 15:42   ` Larysa Zaremba
2025-01-16  8:38 ` [PATCH net v8 4/4] octeon_ep_vf: update tx/rx stats locally for persistence Shinas Rasheed

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.