[dpdk-dev] [PATCH 2/2] net/cxgbe: remove queue stats from basic stats

Andrew Rybchenko andrew.rybchenko at oktetlabs.ru
Thu Jul 1 16:50:19 CEST 2021


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.lakkireddy at 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?


More information about the dev mailing list