Subject: [PATCH net-next v3 0/3] net: core: Unify dstats with tstats and lstats, implement generic dstats collection

From: Jeremy Kerr <[email-masked]>
Date: Fri, 07 Jun 2024 18:25:23 +0800

The struct pcpu_dstats ("dstats") has a few variations from the other
two stats types (struct pcpu_sw_netstats and struct pcpu_lstats), and
doesn't have generic helpers for collecting the per-cpu stats into a
struct rtnl_link_stats64.

This change unifies dstats with the other types, adds a collection
implementation to the core, and updates the single driver (vrf) to use
this generic implementation.

Of course, questions/comments/etc are most welcome!

Signed-off-by: Jeremy Kerr <[email-masked]>
---
v3:
- rather than exposing helpers, perform dstat collection implicitly when
  type == NETDEV_PCPU_STAT_DSTAT
- Link to v2:
  https://lore.kernel.org/r/[email-masked]

---
v2:
- use correct percpu var in dev_fetch_dstats
- use correct accessor in vfr rx drop accounting
- v1: https://lore.kernel.org/r/[email-masked]

---
Jeremy Kerr (3):
      net: core,vrf: Change pcpu_dstat fields to u64_stats_t
      net: core: Implement dstats-type stats collections
      net: vrf: move to generic dstat helpers

 drivers/net/vrf.c         | 56 ++++++++++++++---------------------------------
 include/linux/netdevice.h | 12 +++++-----
 net/core/dev.c            | 50 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 73 insertions(+), 45 deletions(-)
---
base-commit: 32f88d65f01bf6f45476d7edbe675e44fb9e1d58
change-id: 20240605-dstats-b6e08c318555

Best regards,
-- 
Jeremy Kerr <[email-masked]>