From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [RFC 4/7] net/e1000: remove queue stats mapping
Date: Sat, 30 May 2026 09:09:59 -0700 [thread overview]
Message-ID: <20260530161151.873199-5-stephen@networkplumber.org> (raw)
In-Reply-To: <20260530161151.873199-1-stephen@networkplumber.org>
Support for queue stats mapping has been deprecated since 25.11.
Remove support for this operation in the e1000 driver.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/intel/e1000/igc_ethdev.c | 54 ++++------------------------
drivers/net/intel/e1000/igc_ethdev.h | 2 --
2 files changed, 7 insertions(+), 49 deletions(-)
diff --git a/drivers/net/intel/e1000/igc_ethdev.c b/drivers/net/intel/e1000/igc_ethdev.c
index 727ea36c2b..891c810132 100644
--- a/drivers/net/intel/e1000/igc_ethdev.c
+++ b/drivers/net/intel/e1000/igc_ethdev.c
@@ -239,9 +239,7 @@ static int eth_igc_xstats_get_names_by_id(struct rte_eth_dev *dev,
const uint64_t *ids, struct rte_eth_xstat_name *xstats_names,
unsigned int limit);
static int eth_igc_xstats_reset(struct rte_eth_dev *dev);
-static int
-eth_igc_queue_stats_mapping_set(struct rte_eth_dev *dev,
- uint16_t queue_id, uint8_t stat_idx, uint8_t is_rx);
+
static int
eth_igc_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id);
static int
@@ -317,7 +315,6 @@ static const struct eth_dev_ops eth_igc_ops = {
.xstats_get_names = eth_igc_xstats_get_names,
.stats_reset = eth_igc_xstats_reset,
.xstats_reset = eth_igc_xstats_reset,
- .queue_stats_mapping_set = eth_igc_queue_stats_mapping_set,
.rx_queue_intr_enable = eth_igc_rx_queue_intr_enable,
.rx_queue_intr_disable = eth_igc_rx_queue_intr_disable,
.flow_ctrl_get = eth_igc_flow_ctrl_get,
@@ -1362,7 +1359,7 @@ eth_igc_dev_init(struct rte_eth_dev *dev)
struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
struct igc_adapter *igc = IGC_DEV_PRIVATE(dev);
struct e1000_hw *hw = IGC_DEV_PRIVATE_HW(dev);
- int i, error = 0;
+ int error = 0;
PMD_INIT_FUNC_TRACE();
dev->dev_ops = ð_igc_ops;
@@ -1493,12 +1490,6 @@ eth_igc_dev_init(struct rte_eth_dev *dev)
/* enable support intr */
igc_intr_other_enable(dev);
- /* initiate queue status */
- for (i = 0; i < IGC_QUEUE_PAIRS_NUM; i++) {
- igc->txq_stats_map[i] = -1;
- igc->rxq_stats_map[i] = -1;
- }
-
igc_flow_init(dev);
igc_clear_all_filter(dev);
return 0;
@@ -2031,7 +2022,6 @@ static int
eth_igc_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *rte_stats,
struct eth_queue_stats *qstats)
{
- struct igc_adapter *igc = IGC_DEV_PRIVATE(dev);
struct e1000_hw *hw = IGC_DEV_PRIVATE_HW(dev);
struct e1000_hw_stats *stats = IGC_DEV_PRIVATE_STATS(dev);
struct igc_hw_queue_stats *queue_stats =
@@ -2070,19 +2060,11 @@ eth_igc_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *rte_stats,
/* Get per-queue statuses */
if (qstats) {
for (i = 0; i < IGC_QUEUE_PAIRS_NUM; i++) {
- /* GET TX queue statuses */
- int map_id = igc->txq_stats_map[i];
- if (map_id >= 0) {
- qstats->q_opackets[map_id] += queue_stats->pqgptc[i];
- qstats->q_obytes[map_id] += queue_stats->pqgotc[i];
- }
- /* Get RX queue statuses */
- map_id = igc->rxq_stats_map[i];
- if (map_id >= 0) {
- qstats->q_ipackets[map_id] += queue_stats->pqgprc[i];
- qstats->q_ibytes[map_id] += queue_stats->pqgorc[i];
- qstats->q_errors[map_id] += queue_stats->rqdpc[i];
- }
+ qstats->q_opackets[i] += queue_stats->pqgptc[i];
+ qstats->q_obytes[i] += queue_stats->pqgotc[i];
+ qstats->q_ipackets[i] += queue_stats->pqgprc[i];
+ qstats->q_ibytes[i] += queue_stats->pqgorc[i];
+ qstats->q_errors[i] += queue_stats->rqdpc[i];
}
}
@@ -2231,28 +2213,6 @@ eth_igc_xstats_get_by_id(struct rte_eth_dev *dev, const uint64_t *ids,
}
}
-static int
-eth_igc_queue_stats_mapping_set(struct rte_eth_dev *dev,
- uint16_t queue_id, uint8_t stat_idx, uint8_t is_rx)
-{
- struct igc_adapter *igc = IGC_DEV_PRIVATE(dev);
-
- /* check queue id is valid */
- if (queue_id >= IGC_QUEUE_PAIRS_NUM) {
- PMD_DRV_LOG(ERR, "queue id(%u) error, max is %u",
- queue_id, IGC_QUEUE_PAIRS_NUM - 1);
- return -EINVAL;
- }
-
- /* store the mapping status id */
- if (is_rx)
- igc->rxq_stats_map[queue_id] = stat_idx;
- else
- igc->txq_stats_map[queue_id] = stat_idx;
-
- return 0;
-}
-
static int
eth_igc_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
{
diff --git a/drivers/net/intel/e1000/igc_ethdev.h b/drivers/net/intel/e1000/igc_ethdev.h
index 7fa7877adf..96ff520da7 100644
--- a/drivers/net/intel/e1000/igc_ethdev.h
+++ b/drivers/net/intel/e1000/igc_ethdev.h
@@ -227,8 +227,6 @@ struct igc_adapter {
struct e1000_hw hw;
struct e1000_hw_stats stats;
struct igc_hw_queue_stats queue_stats;
- int16_t txq_stats_map[IGC_QUEUE_PAIRS_NUM];
- int16_t rxq_stats_map[IGC_QUEUE_PAIRS_NUM];
struct igc_interrupt intr;
struct igc_vfta shadow_vfta;
--
2.53.0
next prev parent reply other threads:[~2026-05-30 16:12 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-30 16:09 [RFC 0/7] Complete removal of queue stats mapping Stephen Hemminger
2026-05-30 16:09 ` [RFC 1/7] net/virtio: remove unused " 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 ` Stephen Hemminger [this message]
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
2026-07-23 20:28 ` [PATCH v2 0/9] Complete removal of " Stephen Hemminger
2026-07-23 20:28 ` [PATCH v2 1/9] net/virtio: remove unused " Stephen Hemminger
2026-07-23 20:28 ` [PATCH v2 2/9] app/testpmd: remove unused function prototype Stephen Hemminger
2026-07-23 20:28 ` [PATCH v2 3/9] net/enic: remove unneeded ops initialization Stephen Hemminger
2026-07-24 1:52 ` Hyong Youb Kim (hyonkim)
2026-07-23 20:28 ` [PATCH v2 4/9] net/cnxk: remove queue stats mapping Stephen Hemminger
2026-07-24 7:26 ` David Marchand
2026-07-24 15:20 ` Stephen Hemminger
2026-07-23 20:28 ` [PATCH v2 5/9] net/e1000: " Stephen Hemminger
2026-07-24 7:31 ` David Marchand
2026-07-23 20:28 ` [PATCH v2 6/9] net/ixgbe: " Stephen Hemminger
2026-07-23 20:28 ` [PATCH v2 7/9] net/txgbe: " Stephen Hemminger
2026-07-23 20:28 ` [PATCH v2 8/9] net/sxe2: " Stephen Hemminger
2026-07-23 20:28 ` [PATCH v2 9/9] ethdev: remove support for " Stephen Hemminger
2026-07-24 7:39 ` [PATCH v2 0/9] Complete removal of " David Marchand
2026-07-24 7:42 ` David Marchand
2026-07-24 15:28 ` Stephen Hemminger
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-5-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 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.