On 6/3/21 6:30 PM, Rahul Lakkireddy wrote:
> Remove queue stats from basic stats because they're now available
> via xstats API. Also remove RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS flag.
> 
> Signed-off-by: Rahul Lakkireddy <rahul.lakkire...@chelsio.com>
> ---
>  drivers/net/cxgbe/cxgbe_ethdev.c | 18 +++---------------
>  1 file changed, 3 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c 
> b/drivers/net/cxgbe/cxgbe_ethdev.c
> index 8dee3fc3b6..141a2de808 100644
> --- a/drivers/net/cxgbe/cxgbe_ethdev.c
> +++ b/drivers/net/cxgbe/cxgbe_ethdev.c
> @@ -747,22 +747,12 @@ static int cxgbe_dev_stats_get(struct rte_eth_dev 
> *eth_dev,
>       eth_stats->oerrors  = ps.tx_error_frames;
>  
>       for (i = 0; i < pi->n_rx_qsets; i++) {
> -             struct sge_eth_rxq *rxq =
> -                     &s->ethrxq[pi->first_rxqset + i];
> +             struct sge_eth_rxq *rxq = &s->ethrxq[pi->first_rxqset + i];
>  
> -             eth_stats->q_ipackets[i] = rxq->stats.pkts;
> -             eth_stats->q_ibytes[i] = rxq->stats.rx_bytes;
> -             eth_stats->ipackets += eth_stats->q_ipackets[i];
> -             eth_stats->ibytes += eth_stats->q_ibytes[i];
> +             eth_stats->ipackets += rxq->stats.pkts;
> +             eth_stats->ibytes += rxq->stats.rx_bytes;
>       }
>  
> -     for (i = 0; i < pi->n_tx_qsets; i++) {
> -             struct sge_eth_txq *txq =
> -                     &s->ethtxq[pi->first_txqset + i];
> -
> -             eth_stats->q_opackets[i] = txq->stats.pkts;
> -             eth_stats->q_obytes[i] = txq->stats.tx_bytes;
> -     }
>       return 0;
>  }
>  
> @@ -1697,8 +1687,6 @@ static int eth_cxgbe_dev_init(struct rte_eth_dev 
> *eth_dev)
>               return 0;
>       }
>  
> -     eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
> -
>       snprintf(name, sizeof(name), "cxgbeadapter%d", eth_dev->data->port_id);
>       adapter = rte_zmalloc(name, sizeof(*adapter), 0);
>       if (!adapter)
> 

As I understand it is correct to remove
RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS to avoid duplication of per-queue
stats in xstats. But I don't understand why per-queue
stats are removed from basic stats. It still makes sense and
useful. Am I missing something?

Reply via email to