net/mlx5/hws: remove deprecated rte_atomic
PATCH 1/1 net/mlx5/hws: remove deprecated rte_atomic
The use of rte_atomic functions is deprecated and is not required in HWS code. HWS refcounts are used only during control and always under lock.
--- drivers/net/mlx5/hws/mlx5dr_action.c | 8 +++----- drivers/net/mlx5/hws/mlx5dr_action.h | 2 +- drivers/net/mlx5/hws/mlx5dr_pat_arg.c | 8 +++----- drivers/net/mlx5/hws/mlx5dr_pat_arg.h | 2 +- 4 files changed, 8 insertions(+), 12 deletions(-)
drivers/net/mlx5/hws/mlx5dr_action.c +3 -5
@@ -83,7 +83,7 @@ static int mlx5dr_action_get_shared_stc_nic(struct mlx5dr_context *ctx,pthread_spin_lock (&ctx->ctrl_lock);if (ctx->common_res[tbl_type].shared_stc[stc_type]) { -rte_atomic32_add (&ctx->common_res[tbl_type].shared_stc[stc_type]->refcount,1 ); + ctx->common_res[tbl_type].shared_stc[stc_type]->refcount++;pthread_spin_unlock (&ctx->ctrl_lock);return 0 ; }
@@ -123,9 +123,7 @@ static int mlx5dr_action_get_shared_stc_nic(struct mlx5dr_context *ctx, } ctx->common_res[tbl_type].shared_stc[stc_type] = shared_stc; - -rte_atomic32_init (&ctx->common_res[tbl_type].shared_stc[stc_type]->refcount); -rte_atomic32_set (&ctx->common_res[tbl_type].shared_stc[stc_type]->refcount,1 ); + ctx->common_res[tbl_type].shared_stc[stc_type]->refcount =1 ;pthread_spin_unlock (&ctx->ctrl_lock);
@@ -145,7 +143,7 @@ static void mlx5dr_action_put_shared_stc_nic(struct mlx5dr_context *ctx,struct mlx5dr_action_shared_stc *shared_stc;pthread_spin_lock (&ctx->ctrl_lock); -if (!rte_atomic32_dec_and_test (&ctx->common_res[tbl_type].shared_stc[stc_type]->refcount)) { +if (--ctx->common_res[tbl_type].shared_stc[stc_type]->refcount) {pthread_spin_unlock (&ctx->ctrl_lock);return ; }
drivers/net/mlx5/hws/mlx5dr_action.h +1 -1
@@ -70,7 +70,7 @@ struct mlx5dr_action_default_stc {struct mlx5dr_action_shared_stc {struct mlx5dr_pool_chunk remove_header; -rte_atomic32_t refcount; +uint32_t refcount; };struct mlx5dr_actions_apply_data {
drivers/net/mlx5/hws/mlx5dr_pat_arg.c +3 -5
@@ -128,7 +128,7 @@ mlx5dr_pat_get_existing_cached_pattern(struct mlx5dr_pattern_cache *cache,/* LRU: move it to be first in the list */ LIST_REMOVE (cached_pattern, next);LIST_INSERT_HEAD (&cache->head, cached_pattern, next); -rte_atomic32_add (&cached_pattern->refcount,1 ); + cached_pattern->refcount++; }return cached_pattern;
@@ -179,9 +179,7 @@ mlx5dr_pat_add_pattern_to_cache(struct mlx5dr_pattern_cache *cache, num_of_actions * MLX5DR_MODIFY_ACTION_SIZE);LIST_INSERT_HEAD (&cache->head, cached_pattern, next); - -rte_atomic32_init (&cached_pattern->refcount); -rte_atomic32_set (&cached_pattern->refcount,1 ); + cached_pattern->refcount =1 ;return cached_pattern;
@@ -212,7 +210,7 @@ mlx5dr_pat_put_pattern(struct mlx5dr_pattern_cache *cache, goto out; } -if (!rte_atomic32_dec_and_test (&cached_pattern->refcount)) +if (--cached_pattern->refcount) goto out;mlx5dr_pat_remove_pattern (cached_pattern);
drivers/net/mlx5/hws/mlx5dr_pat_arg.h +1 -1
@@ -35,7 +35,7 @@ struct mlx5dr_pat_cached_pattern {uint8_t *data;uint16_t num_of_actions; } mh_data; -rte_atomic32_t refcount; +uint32_t refcount;LIST_ENTRY (mlx5dr_pat_cached_pattern) next; };
Signature · 1 line
2.18.1
Quoted 7 lines
The use of
rte_atomicfunctions is deprecated and is not required in HWS code. HWS refcounts are used only during control and always under lock.Fixes f8c8a6d8440d ("net/mlx5/hws: add action object")Signed-off-by Alex Vesker <[email protected]>
Hi,
Quoted 10 lines
-----Original Message-----
From: Alex Vesker <[email protected]>
Sent: Sunday, October 30, 2022 6:12 PM
To: Alex Vesker <[email protected]>; Slava Ovsiienko <[email protected]>; NBU-Contact-Thomas Monjalon (EXTERNAL) <[email protected]>; Suanming Mou <[email protected]>; Matan Azrad <[email protected]>
Cc: [email protected]; Ori Kam <[email protected]>
Subject: [PATCH]net/mlx5/hws: remove deprecatedrte_atomic
Quoted 5 lines
The use of
rte_atomicfunctions is deprecated and is not required in HWS code. HWS refcounts are used only during control and always under lock.Fixes f8c8a6d8440d ("net/mlx5/hws: add action object")Signed-off-by Alex Vesker <[email protected]>
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh