net/virtio: fix duplicated rxq xstats
Checks
Commit Message
From: Edwin Brossette <edwin.brossette@6wind.com>
The flag RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS was temporarily set while
moving queue stats from 'struct rte_eth_stats' to the individual pmds,
as explained in commit f30e69b41f94 ("ethdev: add device flag to bypass
auto-filled queue xstats").
This flag was added so every pmd would keep its original behavior until
the change was implemented. However, this flag was not removed
afterwards in the virtio pmd and as a result, some queue stats are
displayed twice when trying to get them: once in lib_rte_ethdev, and a
second time in the virtio pmd.
Remove this flag so stats are printed only once.
Fixes: f30e69b41f94 ("ethdev: add device flag to bypass auto-filled queue xstats")
Cc: stable@dpdk.org
Signed-off-by: Edwin Brossette <edwin.brossette@6wind.com>
---
drivers/net/virtio/virtio_ethdev.c | 2 --
1 file changed, 2 deletions(-)
Comments
On 11/24/2023 1:52 PM, edwin.brossette@6wind.com wrote:
> From: Edwin Brossette <edwin.brossette@6wind.com>
>
> The flag RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS was temporarily set while
> moving queue stats from 'struct rte_eth_stats' to the individual pmds,
> as explained in commit f30e69b41f94 ("ethdev: add device flag to bypass
> auto-filled queue xstats").
>
> This flag was added so every pmd would keep its original behavior until
> the change was implemented. However, this flag was not removed
> afterwards in the virtio pmd and as a result, some queue stats are
> displayed twice when trying to get them: once in lib_rte_ethdev, and a
> second time in the virtio pmd.
>
> Remove this flag so stats are printed only once.
>
> Fixes: f30e69b41f94 ("ethdev: add device flag to bypass auto-filled queue xstats")
> Cc: stable@dpdk.org
>
> Signed-off-by: Edwin Brossette <edwin.brossette@6wind.com>
>
Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
On 11/24/23 14:52, edwin.brossette@6wind.com wrote:
> From: Edwin Brossette <edwin.brossette@6wind.com>
>
> The flag RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS was temporarily set while
> moving queue stats from 'struct rte_eth_stats' to the individual pmds,
> as explained in commit f30e69b41f94 ("ethdev: add device flag to bypass
> auto-filled queue xstats").
>
> This flag was added so every pmd would keep its original behavior until
> the change was implemented. However, this flag was not removed
> afterwards in the virtio pmd and as a result, some queue stats are
> displayed twice when trying to get them: once in lib_rte_ethdev, and a
> second time in the virtio pmd.
>
> Remove this flag so stats are printed only once.
>
> Fixes: f30e69b41f94 ("ethdev: add device flag to bypass auto-filled queue xstats")
> Cc: stable@dpdk.org
>
> Signed-off-by: Edwin Brossette <edwin.brossette@6wind.com>
> ---
> drivers/net/virtio/virtio_ethdev.c | 2 --
> 1 file changed, 2 deletions(-)
>
Applied to next-virtio tree.
Thanks,
Maxime
@@ -1793,8 +1793,6 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features)
else
eth_dev->data->dev_flags &= ~RTE_ETH_DEV_INTR_LSC;
- eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
-
/* Setting up rx_header size for the device */
if (virtio_with_feature(hw, VIRTIO_NET_F_MRG_RXBUF) ||
virtio_with_feature(hw, VIRTIO_F_VERSION_1) ||