[dpdk-dev] [PATCH v4 41/41] net/dpaa: support for extended statistics

Ferruh Yigit ferruh.yigit at intel.com
Mon Sep 18 16:57:31 CEST 2017


On 9/9/2017 12:21 PM, Shreyansh Jain wrote:
> From: Hemant Agrawal <hemant.agrawal at nxp.com>
> 
> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>

<...>

> +static int
> +dpaa_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats,
> +		    unsigned int n)
> +{
> +	struct dpaa_if *dpaa_intf = dev->data->dev_private;
> +	unsigned int i = 0, num = RTE_DIM(dpaa_xstats_strings);
> +	uint64_t values[sizeof(struct dpaa_if_stats) / 8];
> +
> +	if (xstats == NULL)
> +		return 0;

This is a little not clear from API definition, but I guess when xstats
is NULL, it should return num of available stats, "num" for this case. I
guess there are PMDs implements both, can you please double check?

> +
> +	if (n < num)
> +		return num;
> +
> +	fman_if_stats_get_all(dpaa_intf->fif, values,
> +			      sizeof(struct dpaa_if_stats) / 8);
> +
> +	for (i = 0; i < num; i++) {
> +		xstats[i].id = i;
> +		xstats[i].value = values[dpaa_xstats_strings[i].offset / 8];
> +	}
> +	return i;
> +}

<...>


More information about the dev mailing list