[RFC 4/7] net/e1000: remove queue stats mapping
Stephen Hemminger
stephen at networkplumber.org
Sat May 30 18:09:59 CEST 2026
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 at 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
More information about the dev
mailing list