[dpdk-dev] [PATCH] net/mlx5: fix shared counter search with nested index

Raslan Darawsheh rasland at mellanox.com
Sun May 17 11:59:23 CEST 2020


Hi,

> -----Original Message-----
> From: Suanming Mou <suanmingm at mellanox.com>
> Sent: Friday, May 15, 2020 11:36 AM
> To: Matan Azrad <matan at mellanox.com>; Shahaf Shuler
> <shahafs at mellanox.com>; Slava Ovsiienko <viacheslavo at mellanox.com>
> Cc: dev at dpdk.org; Raslan Darawsheh <rasland at mellanox.com>
> Subject: [PATCH] net/mlx5: fix shared counter search with nested index
> 
> Currently, the shared counter search uses the wrong nested index which
> is used by the pool index. The incorrect nested index using causes the
> search go to incorrect counter pool is not existed.
> 
> Add the counter index to fix the incorrect nested use case.
> 
> Fixes: 4001d7ad26d4 ("net/mlx5: change Direct Verbs counter to indexed")
> 
> Signed-off-by: Suanming Mou <suanmingm at mellanox.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_flow_dv.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c
> index 71da5fb..deb4469 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -4467,15 +4467,15 @@ struct field_modify_info modify_tcp[] = {
>  flow_dv_counter_shared_search(struct mlx5_pools_container *cont,
> uint32_t id,
>  			      struct mlx5_flow_counter_pool **ppool)
>  {
> -	static struct mlx5_flow_counter_ext *cnt;
> +	struct mlx5_flow_counter_ext *cnt;
>  	struct mlx5_flow_counter_pool *pool;
> -	uint32_t i;
> +	uint32_t i, j;
>  	uint32_t n_valid = rte_atomic16_read(&cont->n_valid);
> 
>  	for (i = 0; i < n_valid; i++) {
>  		pool = cont->pools[i];
> -		for (i = 0; i < MLX5_COUNTERS_PER_POOL; ++i) {
> -			cnt = MLX5_GET_POOL_CNT_EXT(pool, i);
> +		for (j = 0; j < MLX5_COUNTERS_PER_POOL; ++j) {
> +			cnt = MLX5_GET_POOL_CNT_EXT(pool, j);
>  			if (cnt->ref_cnt && cnt->shared && cnt->id == id) {
>  				if (ppool)
>  					*ppool = cont->pools[i];
> --
> 1.8.3.1

Title changed to:
net/mlx5: fix shared counter lookup

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh


More information about the dev mailing list