Lines 42-58
mlx5_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *stats,
Link Here
|
42 |
unsigned int i; |
42 |
unsigned int i; |
43 |
uint64_t counters[n]; |
43 |
uint64_t counters[n]; |
44 |
struct mlx5_xstats_ctrl *xstats_ctrl = &priv->xstats_ctrl; |
44 |
struct mlx5_xstats_ctrl *xstats_ctrl = &priv->xstats_ctrl; |
45 |
uint16_t mlx5_stats_n = xstats_ctrl->mlx5_stats_n; |
45 |
uint16_t mlx5_stats_n; |
|
|
46 |
int stats_n; |
47 |
|
48 |
stats_n = mlx5_os_get_stats_n(dev); |
49 |
if (stats_n < 0) |
50 |
return stats_n; |
51 |
|
52 |
if (xstats_ctrl->stats_n != stats_n) |
53 |
mlx5_os_stats_init(dev); |
54 |
|
55 |
mlx5_stats_n = xstats_ctrl->mlx5_stats_n; |
46 |
|
56 |
|
47 |
if (n >= mlx5_stats_n && stats) { |
57 |
if (n >= mlx5_stats_n && stats) { |
48 |
int stats_n; |
|
|
49 |
int ret; |
58 |
int ret; |
50 |
|
|
|
51 |
stats_n = mlx5_os_get_stats_n(dev); |
52 |
if (stats_n < 0) |
53 |
return stats_n; |
54 |
if (xstats_ctrl->stats_n != stats_n) |
55 |
mlx5_os_stats_init(dev); |
56 |
ret = mlx5_os_read_dev_counters(dev, counters); |
59 |
ret = mlx5_os_read_dev_counters(dev, counters); |
57 |
if (ret) |
60 |
if (ret) |
58 |
return ret; |
61 |
return ret; |