[dpdk-stable] patch 'drivers/net: remove queue xstats auto-fill flag' has been queued to stable release 20.11.4

Xueming Li xuemingl at nvidia.com
Wed Nov 10 07:30:39 CET 2021


Hi,

FYI, your patch has been queued to stable release 20.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/12/21. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/steevenlee/dpdk

This queued commit can be viewed at:
https://github.com/steevenlee/dpdk/commit/664213de5ec6ba2c8434014008dcf867946f9f05

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From 664213de5ec6ba2c8434014008dcf867946f9f05 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
Date: Tue, 28 Sep 2021 19:48:54 +0300
Subject: [PATCH] drivers/net: remove queue xstats auto-fill flag
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 64c952ec78d35ab3a1a229f9e9901d6092c6189c ]

Some drivers do not provide per-queue statistics. So, there is no point
to have these misleading zeros in xstats.

Fixes: f30e69b41f94 ("ethdev: add device flag to bypass auto-filled queue xstats")

Signed-off-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
 drivers/net/bnx2x/bnx2x_ethdev.c       | 1 -
 drivers/net/dpaa/dpaa_ethdev.c         | 2 --
 drivers/net/e1000/em_ethdev.c          | 1 -
 drivers/net/e1000/igb_ethdev.c         | 2 --
 drivers/net/enetc/enetc_ethdev.c       | 2 --
 drivers/net/enic/enic_ethdev.c         | 1 -
 drivers/net/enic/enic_vf_representor.c | 3 +--
 drivers/net/i40e/i40e_ethdev.c         | 1 -
 drivers/net/i40e/i40e_vf_representor.c | 3 +--
 drivers/net/iavf/iavf_ethdev.c         | 1 -
 drivers/net/ice/ice_dcf_ethdev.c       | 2 --
 drivers/net/liquidio/lio_ethdev.c      | 1 -
 drivers/net/mvneta/mvneta_ethdev.c     | 1 -
 drivers/net/octeontx/octeontx_ethdev.c | 1 -
 drivers/net/pfe/pfe_ethdev.c           | 2 --
 drivers/net/sfc/sfc_ethdev.c           | 1 -
 16 files changed, 2 insertions(+), 23 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index d35c75a2e2..28f8aaeb4d 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -648,7 +648,6 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
 	}
 
 	rte_eth_copy_pci_info(eth_dev, pci_dev);
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 
 	sc->pcie_bus    = pci_dev->addr.bus;
 	sc->pcie_device = pci_dev->addr.devid;
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 824eb073ad..f8809fad00 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -2231,8 +2231,6 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv,
 	if (dpaa_drv->drv_flags & RTE_DPAA_DRV_INTR_LSC)
 		eth_dev->data->dev_flags |= RTE_ETH_DEV_INTR_LSC;
 
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
-
 	/* Invoke PMD device initialization function */
 	diag = dpaa_dev_init(eth_dev);
 	if (diag == 0) {
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index b5244d06cf..8aa89c31c3 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -265,7 +265,6 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
 	}
 
 	rte_eth_copy_pci_info(eth_dev, pci_dev);
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 
 	hw->hw_addr = (void *)pci_dev->mem_resource[0].addr;
 	hw->device_id = pci_dev->id.device_id;
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 681842f5ae..fd30d39e60 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -745,7 +745,6 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
 	}
 
 	rte_eth_copy_pci_info(eth_dev, pci_dev);
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 
 	hw->hw_addr= (void *)pci_dev->mem_resource[0].addr;
 
@@ -940,7 +939,6 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
 
 	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
 	rte_eth_copy_pci_info(eth_dev, pci_dev);
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 
 	hw->device_id = pci_dev->id.device_id;
 	hw->vendor_id = pci_dev->id.vendor_id;
diff --git a/drivers/net/enetc/enetc_ethdev.c b/drivers/net/enetc/enetc_ethdev.c
index 4d2c9c0474..19769a78ff 100644
--- a/drivers/net/enetc/enetc_ethdev.c
+++ b/drivers/net/enetc/enetc_ethdev.c
@@ -885,8 +885,6 @@ enetc_dev_init(struct rte_eth_dev *eth_dev)
 	eth_dev->rx_pkt_burst = &enetc_recv_pkts;
 	eth_dev->tx_pkt_burst = &enetc_xmit_pkts;
 
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
-
 	/* Retrieving and storing the HW base address of device */
 	hw->hw.reg = (void *)pci_dev->mem_resource[0].addr;
 	hw->device_id = pci_dev->id.device_id;
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index 9e59847f36..4ba76daf09 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -1266,7 +1266,6 @@ static int eth_enic_dev_init(struct rte_eth_dev *eth_dev,
 
 	pdev = RTE_ETH_DEV_TO_PCI(eth_dev);
 	rte_eth_copy_pci_info(eth_dev, pdev);
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 	enic->pdev = pdev;
 	addr = &pdev->addr;
 
diff --git a/drivers/net/enic/enic_vf_representor.c b/drivers/net/enic/enic_vf_representor.c
index c2c03c0281..984a754e35 100644
--- a/drivers/net/enic/enic_vf_representor.c
+++ b/drivers/net/enic/enic_vf_representor.c
@@ -672,8 +672,7 @@ int enic_vf_representor_init(struct rte_eth_dev *eth_dev, void *init_params)
 
 	eth_dev->device->driver = pf->rte_dev->device->driver;
 	eth_dev->dev_ops = &enic_vf_representor_dev_ops;
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_REPRESENTOR |
-					RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
+	eth_dev->data->dev_flags |= RTE_ETH_DEV_REPRESENTOR;
 	eth_dev->data->representor_id = vf->vf_id;
 	eth_dev->data->mac_addrs = rte_zmalloc("enic_mac_addr_vf",
 		sizeof(struct rte_ether_addr) *
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index f8c1035f8f..d2116910a0 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -1507,7 +1507,6 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
 	intr_handle = &pci_dev->intr_handle;
 
 	rte_eth_copy_pci_info(dev, pci_dev);
-	dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 
 	pf->adapter = I40E_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	pf->dev_data = dev->data;
diff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c
index 7ab4b19a42..5daa7ddcfd 100644
--- a/drivers/net/i40e/i40e_vf_representor.c
+++ b/drivers/net/i40e/i40e_vf_representor.c
@@ -511,8 +511,7 @@ i40e_vf_representor_init(struct rte_eth_dev *ethdev, void *init_params)
 		return -ENODEV;
 	}
 
-	ethdev->data->dev_flags |= RTE_ETH_DEV_REPRESENTOR |
-					RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
+	ethdev->data->dev_flags |= RTE_ETH_DEV_REPRESENTOR;
 	ethdev->data->representor_id = representor->vf_id;
 
 	/* Setting the number queues allocated to the VF */
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 6bc3108631..7d676c0279 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -1983,7 +1983,6 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
 		return 0;
 	}
 	rte_eth_copy_pci_info(eth_dev, pci_dev);
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 
 	hw->vendor_id = pci_dev->id.vendor_id;
 	hw->device_id = pci_dev->id.device_id;
diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c
index b523df47e1..833ab7410c 100644
--- a/drivers/net/ice/ice_dcf_ethdev.c
+++ b/drivers/net/ice/ice_dcf_ethdev.c
@@ -912,8 +912,6 @@ ice_dcf_dev_init(struct rte_eth_dev *eth_dev)
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
 		return 0;
 
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
-
 	adapter->real_hw.vc_event_msg_cb = ice_dcf_handle_pf_event_msg;
 	if (ice_dcf_init_hw(eth_dev, &adapter->real_hw) != 0) {
 		PMD_INIT_LOG(ERR, "Failed to init DCF hardware");
diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
index eb0fdab45a..70b2c05c45 100644
--- a/drivers/net/liquidio/lio_ethdev.c
+++ b/drivers/net/liquidio/lio_ethdev.c
@@ -2094,7 +2094,6 @@ lio_eth_dev_init(struct rte_eth_dev *eth_dev)
 		return 0;
 
 	rte_eth_copy_pci_info(eth_dev, pdev);
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 
 	if (pdev->mem_resource[0].addr) {
 		lio_dev->hw_addr = pdev->mem_resource[0].addr;
diff --git a/drivers/net/mvneta/mvneta_ethdev.c b/drivers/net/mvneta/mvneta_ethdev.c
index 2cd73919ce..5a8c5aad29 100644
--- a/drivers/net/mvneta/mvneta_ethdev.c
+++ b/drivers/net/mvneta/mvneta_ethdev.c
@@ -840,7 +840,6 @@ mvneta_eth_dev_create(struct rte_vdev_device *vdev, const char *name)
 	eth_dev->rx_pkt_burst = mvneta_rx_pkt_burst;
 	mvneta_set_tx_function(eth_dev);
 	eth_dev->dev_ops = &mvneta_ops;
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 
 	rte_eth_dev_probing_finish(eth_dev);
 	return 0;
diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index 5836dbe09e..be7a01f0eb 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -1374,7 +1374,6 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
 	data->promiscuous = 0;
 	data->all_multicast = 0;
 	data->scattered_rx = 0;
-	data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 
 	/* Get maximum number of supported MAC entries */
 	max_entries = octeontx_bgx_port_mac_entries_get(nic->port_id);
diff --git a/drivers/net/pfe/pfe_ethdev.c b/drivers/net/pfe/pfe_ethdev.c
index f5c271b3f0..6ef9ee0b6c 100644
--- a/drivers/net/pfe/pfe_ethdev.c
+++ b/drivers/net/pfe/pfe_ethdev.c
@@ -850,8 +850,6 @@ pfe_eth_init(struct rte_vdev_device *vdev, struct pfe *pfe, int id)
 	eth_dev->data->nb_rx_queues = 1;
 	eth_dev->data->nb_tx_queues = 1;
 
-	eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
-
 	/* For link status, open the PFE CDEV; Error from this function
 	 * is silently ignored; In case of error, the link status will not
 	 * be available.
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index e6de2c30f7..7c2bf78da0 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -2212,7 +2212,6 @@ sfc_eth_dev_init(struct rte_eth_dev *dev)
 
 	/* Copy PCI device info to the dev->data */
 	rte_eth_copy_pci_info(dev, pci_dev);
-	dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
 	dev->data->dev_flags |= RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE;
 
 	rc = sfc_kvargs_parse(sa);
-- 
2.33.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-10 14:17:08.827675306 +0800
+++ 0155-drivers-net-remove-queue-xstats-auto-fill-flag.patch	2021-11-10 14:17:01.964078660 +0800
@@ -1 +1 @@
-From 64c952ec78d35ab3a1a229f9e9901d6092c6189c Mon Sep 17 00:00:00 2001
+From 664213de5ec6ba2c8434014008dcf867946f9f05 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 64c952ec78d35ab3a1a229f9e9901d6092c6189c ]
@@ -10 +12,0 @@
-Cc: stable at dpdk.org
@@ -34 +36 @@
-index 463886f17a..8b0806016f 100644
+index d35c75a2e2..28f8aaeb4d 100644
@@ -46 +48 @@
-index c087ce6341..840257c607 100644
+index 824eb073ad..f8809fad00 100644
@@ -49 +51 @@
-@@ -2218,8 +2218,6 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv,
+@@ -2231,8 +2231,6 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv,
@@ -59 +61 @@
-index 9e157e4ffe..5a3af0da90 100644
+index b5244d06cf..8aa89c31c3 100644
@@ -62 +64 @@
-@@ -264,7 +264,6 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
+@@ -265,7 +265,6 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
@@ -71 +73 @@
-index 4152406610..194da6b5b3 100644
+index 681842f5ae..fd30d39e60 100644
@@ -74 +76 @@
-@@ -742,7 +742,6 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
+@@ -745,7 +745,6 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
@@ -82 +84 @@
-@@ -936,7 +935,6 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
+@@ -940,7 +939,6 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
@@ -91 +93 @@
-index 246aff4672..784ed391b7 100644
+index 4d2c9c0474..19769a78ff 100644
@@ -94 +96 @@
-@@ -889,8 +889,6 @@ enetc_dev_init(struct rte_eth_dev *eth_dev)
+@@ -885,8 +885,6 @@ enetc_dev_init(struct rte_eth_dev *eth_dev)
@@ -104 +106 @@
-index b94332cc86..a1a53248f6 100644
+index 9e59847f36..4ba76daf09 100644
@@ -107 +109 @@
-@@ -1264,7 +1264,6 @@ static int eth_enic_dev_init(struct rte_eth_dev *eth_dev,
+@@ -1266,7 +1266,6 @@ static int eth_enic_dev_init(struct rte_eth_dev *eth_dev,
@@ -116 +118 @@
-index 1a4411844a..1ad6ad3dfb 100644
+index c2c03c0281..984a754e35 100644
@@ -119 +121 @@
-@@ -663,8 +663,7 @@ int enic_vf_representor_init(struct rte_eth_dev *eth_dev, void *init_params)
+@@ -672,8 +672,7 @@ int enic_vf_representor_init(struct rte_eth_dev *eth_dev, void *init_params)
@@ -127 +128,0 @@
- 	eth_dev->data->backer_port_id = pf->port_id;
@@ -128,0 +130 @@
+ 		sizeof(struct rte_ether_addr) *
@@ -130 +132 @@
-index 5037a55ca5..cd723f1b8f 100644
+index f8c1035f8f..d2116910a0 100644
@@ -133 +135 @@
-@@ -1443,7 +1443,6 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
+@@ -1507,7 +1507,6 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
@@ -142 +144 @@
-index d65b821a01..12d5a2e48a 100644
+index 7ab4b19a42..5daa7ddcfd 100644
@@ -153 +154,0 @@
- 	ethdev->data->backer_port_id = pf->dev_data->port_id;
@@ -154,0 +156 @@
+ 	/* Setting the number queues allocated to the VF */
@@ -156 +158 @@
-index 7e4d256122..18428049d8 100644
+index 6bc3108631..7d676c0279 100644
@@ -159 +161 @@
-@@ -2343,7 +2343,6 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
+@@ -1983,7 +1983,6 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
@@ -168 +170 @@
-index 91f6558742..f9be43741f 100644
+index b523df47e1..833ab7410c 100644
@@ -171 +173 @@
-@@ -1092,8 +1092,6 @@ ice_dcf_dev_init(struct rte_eth_dev *eth_dev)
+@@ -912,8 +912,6 @@ ice_dcf_dev_init(struct rte_eth_dev *eth_dev)
@@ -181 +183 @@
-index dbdab188e9..41b3f63ac0 100644
+index eb0fdab45a..70b2c05c45 100644
@@ -184 +186 @@
-@@ -2098,7 +2098,6 @@ lio_eth_dev_init(struct rte_eth_dev *eth_dev)
+@@ -2094,7 +2094,6 @@ lio_eth_dev_init(struct rte_eth_dev *eth_dev)
@@ -193 +195 @@
-index f51bc2258f..90f2466369 100644
+index 2cd73919ce..5a8c5aad29 100644
@@ -205 +207 @@
-index 7c91494f0e..096b5f6ae3 100644
+index 5836dbe09e..be7a01f0eb 100644
@@ -208 +210 @@
-@@ -1372,7 +1372,6 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
+@@ -1374,7 +1374,6 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
@@ -217 +219 @@
-index 4c7f568bf4..d6a6944907 100644
+index f5c271b3f0..6ef9ee0b6c 100644
@@ -220 +222 @@
-@@ -836,8 +836,6 @@ pfe_eth_init(struct rte_vdev_device *vdev, struct pfe *pfe, int id)
+@@ -850,8 +850,6 @@ pfe_eth_init(struct rte_vdev_device *vdev, struct pfe *pfe, int id)
@@ -230 +232 @@
-index 919569445f..8ec56a9ed5 100644
+index e6de2c30f7..7c2bf78da0 100644
@@ -233 +235 @@
-@@ -2793,7 +2793,6 @@ sfc_eth_dev_init(struct rte_eth_dev *dev, void *init_params)
+@@ -2212,7 +2212,6 @@ sfc_eth_dev_init(struct rte_eth_dev *dev)


More information about the stable mailing list