From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [RFC 0/7] Complete removal of queue stats mapping
Date: Sat, 30 May 2026 09:09:55 -0700 [thread overview]
Message-ID: <20260530161151.873199-1-stephen@networkplumber.org> (raw)
The per-queue stats mapping mechanism (rte_eth_dev_set_{rx,tx}_queue_stats_mapping
and the queue_stats_mapping_set ethdev op) was a workaround for hardware that
could only expose a limited number of queue stat registers. It let an application
fold many queues onto a small set of counters. Since 25.11 queue statistics are
filled in directly by the ethdev layer indexed by queue id, so the mapping is no
longer needed; the functions were deprecated then by commit 2863cbd9ee6d.
This series finishes the job. The drivers that still implemented the op are
converted to report queue stats directly by queue id (bounded by
RTE_ETHDEV_QUEUE_STAT_CNTRS), and the op, the two public functions, their trace
points, and the documentation are removed from ethdev. The leftover per-driver
mapping tables, accessor macros, and init code go away with them.
This is an RFC against 26.11, where the ABI break from removing the two stable
symbols is expected. The Removed Items / ABI Changes release notes entry will be
added once the 26.11 notes file is opened.
Stephen Hemminger (7):
net/virtio: remove unused queue stats mapping
net/enic: remove queue_stats_mapping ethdev_op
net/cnxk: remove queue stats mapping
net/e1000: remove queue stats mapping
net/ixgbe: remove queue stats mapping
net/txgbe: remove queue stats mapping
ethdev: remove support for queue stats mapping
doc/guides/nics/features.rst | 7 --
doc/guides/rel_notes/deprecation.rst | 6 --
drivers/net/cnxk/cnxk_ethdev.c | 1 -
drivers/net/cnxk/cnxk_ethdev.h | 6 --
drivers/net/cnxk/cnxk_stats.c | 76 ++++++++------------
drivers/net/enic/enic_ethdev.c | 11 ---
drivers/net/intel/e1000/igc_ethdev.c | 54 ++------------
drivers/net/intel/e1000/igc_ethdev.h | 2 -
drivers/net/intel/ixgbe/ixgbe_ethdev.c | 97 --------------------------
drivers/net/intel/ixgbe/ixgbe_ethdev.h | 9 ---
drivers/net/txgbe/txgbe_ethdev.c | 87 ++---------------------
drivers/net/txgbe/txgbe_ethdev.h | 13 ----
drivers/net/virtio/virtio_ethdev.c | 21 ------
lib/ethdev/ethdev_driver.h | 11 ---
lib/ethdev/ethdev_trace.h | 20 ------
lib/ethdev/ethdev_trace_points.c | 6 --
lib/ethdev/rte_ethdev.c | 62 ----------------
lib/ethdev/rte_ethdev.h | 45 ------------
18 files changed, 45 insertions(+), 489 deletions(-)
--
2.53.0
next reply other threads:[~2026-05-30 16:11 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-30 16:09 Stephen Hemminger [this message]
2026-05-30 16:09 ` [RFC 1/7] net/virtio: remove unused queue stats mapping Stephen Hemminger
2026-05-30 16:09 ` [RFC 2/7] net/enic: remove queue_stats_mapping ethdev_op Stephen Hemminger
2026-05-30 16:09 ` [RFC 3/7] net/cnxk: remove queue stats mapping Stephen Hemminger
2026-05-30 16:09 ` [RFC 4/7] net/e1000: " Stephen Hemminger
2026-05-30 16:10 ` [RFC 5/7] net/ixgbe: " Stephen Hemminger
2026-05-30 16:10 ` [RFC 6/7] net/txgbe: " Stephen Hemminger
2026-05-30 16:10 ` [RFC 7/7] ethdev: remove support for " Stephen Hemminger
2026-06-01 1:56 ` fengchengwen
2026-06-01 8:45 ` Andrew Rybchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260530161151.873199-1-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox