@@ -1159,7 +1159,7 @@
claim_zero(mlx5_glue->destroy_cq(sh->self_lb.ibv_cq));
sh->self_lb.ibv_cq = NULL;
}
- (void)__atomic_sub_fetch(&sh->self_lb.refcnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_sub(&sh->self_lb.refcnt, 1, __ATOMIC_RELAXED);
return -rte_errno;
#else
RTE_SET_USED(dev);
@@ -4451,7 +4451,7 @@ struct mlx5_translated_action_handle {
shared_rss = mlx5_ipool_get
(priv->sh->ipool[MLX5_IPOOL_RSS_SHARED_ACTIONS],
idx);
- __atomic_add_fetch(&shared_rss->refcnt, 1,
+ __atomic_fetch_add(&shared_rss->refcnt, 1,
__ATOMIC_RELAXED);
return idx;
default:
@@ -7295,7 +7295,7 @@ struct mlx5_list_entry *
if (tunnel) {
flow->tunnel = 1;
flow->tunnel_id = tunnel->tunnel_id;
- __atomic_add_fetch(&tunnel->refctn, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_add(&tunnel->refctn, 1, __ATOMIC_RELAXED);
mlx5_free(default_miss_ctx.queue);
}
mlx5_flow_pop_thread_workspace();
@@ -7306,7 +7306,7 @@ struct mlx5_list_entry *
flow_mreg_del_copy_action(dev, flow);
flow_drv_destroy(dev, flow);
if (rss_desc->shared_rss)
- __atomic_sub_fetch(&((struct mlx5_shared_action_rss *)
+ __atomic_fetch_sub(&((struct mlx5_shared_action_rss *)
mlx5_ipool_get
(priv->sh->ipool[MLX5_IPOOL_RSS_SHARED_ACTIONS],
rss_desc->shared_rss))->refcnt, 1, __ATOMIC_RELAXED);
@@ -15143,7 +15143,7 @@ struct mlx5_list_entry *
shared_rss = mlx5_ipool_get
(priv->sh->ipool[MLX5_IPOOL_RSS_SHARED_ACTIONS], srss);
- __atomic_sub_fetch(&shared_rss->refcnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_sub(&shared_rss->refcnt, 1, __ATOMIC_RELAXED);
}
void
@@ -15734,7 +15734,7 @@ struct mlx5_list_entry *
/* Update queue with indirect table queue memoyr. */
origin->queue = shared_rss->ind_tbl->queues;
rte_spinlock_init(&shared_rss->action_rss_sl);
- __atomic_add_fetch(&shared_rss->refcnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_add(&shared_rss->refcnt, 1, __ATOMIC_RELAXED);
rte_spinlock_lock(&priv->shared_act_sl);
ILIST_INSERT(priv->sh->ipool[MLX5_IPOOL_RSS_SHARED_ACTIONS],
&priv->rss_shared_actions, idx, shared_rss, next);
@@ -301,7 +301,7 @@
return ret;
}
if (acquire)
- __atomic_add_fetch(&flex->refcnt, 1, __ATOMIC_RELEASE);
+ __atomic_fetch_add(&flex->refcnt, 1, __ATOMIC_RELEASE);
return ret;
}
@@ -336,7 +336,7 @@
rte_errno = -EINVAL;
return -EINVAL;
}
- __atomic_sub_fetch(&flex->refcnt, 1, __ATOMIC_RELEASE);
+ __atomic_fetch_sub(&flex->refcnt, 1, __ATOMIC_RELEASE);
return 0;
}
@@ -1220,7 +1220,7 @@ struct rte_flow_item_flex_handle *
}
flex->devx_fp = container_of(ent, struct mlx5_flex_parser_devx, entry);
/* Mark initialized flex item valid. */
- __atomic_add_fetch(&flex->refcnt, 1, __ATOMIC_RELEASE);
+ __atomic_fetch_add(&flex->refcnt, 1, __ATOMIC_RELEASE);
return (struct rte_flow_item_flex_handle *)flex;
error:
@@ -1406,7 +1406,7 @@ static rte_be32_t vlan_hdr_to_be32(const struct rte_flow_action *actions)
goto err;
acts->rule_acts[action_pos].action =
priv->hw_tag[!!attr->group];
- __atomic_add_fetch(&priv->hws_mark_refcnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_add(&priv->hws_mark_refcnt, 1, __ATOMIC_RELAXED);
flow_hw_rxq_flag_set(dev, true);
break;
case RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN:
@@ -3162,13 +3162,13 @@ static rte_be32_t vlan_hdr_to_be32(const struct rte_flow_action *actions)
at_error:
while (i--) {
__flow_hw_action_template_destroy(dev, &tbl->ats[i].acts);
- __atomic_sub_fetch(&action_templates[i]->refcnt,
+ __atomic_fetch_sub(&action_templates[i]->refcnt,
1, __ATOMIC_RELAXED);
}
i = nb_item_templates;
it_error:
while (i--)
- __atomic_sub_fetch(&item_templates[i]->refcnt,
+ __atomic_fetch_sub(&item_templates[i]->refcnt,
1, __ATOMIC_RELAXED);
error:
err = rte_errno;
@@ -3361,11 +3361,11 @@ static rte_be32_t vlan_hdr_to_be32(const struct rte_flow_action *actions)
}
LIST_REMOVE(table, next);
for (i = 0; i < table->nb_item_templates; i++)
- __atomic_sub_fetch(&table->its[i]->refcnt,
+ __atomic_fetch_sub(&table->its[i]->refcnt,
1, __ATOMIC_RELAXED);
for (i = 0; i < table->nb_action_templates; i++) {
__flow_hw_action_template_destroy(dev, &table->ats[i].acts);
- __atomic_sub_fetch(&table->ats[i].action_template->refcnt,
+ __atomic_fetch_sub(&table->ats[i].action_template->refcnt,
1, __ATOMIC_RELAXED);
}
mlx5dr_matcher_destroy(table->matcher);
@@ -1788,7 +1788,7 @@ struct mlx5_flow_meter_policy *
NULL, "Meter profile id not valid.");
/* Meter policy must exist. */
if (params->meter_policy_id == priv->sh->mtrmng->def_policy_id) {
- __atomic_add_fetch
+ __atomic_fetch_add
(&priv->sh->mtrmng->def_policy_ref_cnt,
1, __ATOMIC_RELAXED);
domain_bitmap = MLX5_MTR_ALL_DOMAIN_BIT;
@@ -1870,7 +1870,7 @@ struct mlx5_flow_meter_policy *
fm->is_enable = params->meter_enable;
fm->shared = !!shared;
fm->color_aware = !!params->use_prev_mtr_color;
- __atomic_add_fetch(&fm->profile->ref_cnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_add(&fm->profile->ref_cnt, 1, __ATOMIC_RELAXED);
if (params->meter_policy_id == priv->sh->mtrmng->def_policy_id) {
fm->def_policy = 1;
fm->flow_ipool = mlx5_ipool_create(&flow_ipool_cfg);
@@ -1899,7 +1899,7 @@ struct mlx5_flow_meter_policy *
}
fm->active_state = params->meter_enable;
if (mtr_policy)
- __atomic_add_fetch(&mtr_policy->ref_cnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_add(&mtr_policy->ref_cnt, 1, __ATOMIC_RELAXED);
return 0;
error:
mlx5_flow_destroy_mtr_tbls(dev, fm);
@@ -1994,8 +1994,8 @@ struct mlx5_flow_meter_policy *
RTE_MTR_ERROR_TYPE_UNSPECIFIED,
NULL, "Failed to create devx meter.");
fm->active_state = params->meter_enable;
- __atomic_add_fetch(&fm->profile->ref_cnt, 1, __ATOMIC_RELAXED);
- __atomic_add_fetch(&policy->ref_cnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_add(&fm->profile->ref_cnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_add(&policy->ref_cnt, 1, __ATOMIC_RELAXED);
return 0;
}
@@ -2017,7 +2017,7 @@ struct mlx5_flow_meter_policy *
if (fmp == NULL)
return -1;
/* Update dependencies. */
- __atomic_sub_fetch(&fmp->ref_cnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_sub(&fmp->ref_cnt, 1, __ATOMIC_RELAXED);
fm->profile = NULL;
/* Remove from list. */
if (!priv->sh->meter_aso_en) {
@@ -2035,14 +2035,14 @@ struct mlx5_flow_meter_policy *
}
mlx5_flow_destroy_mtr_tbls(dev, fm);
if (fm->def_policy)
- __atomic_sub_fetch(&priv->sh->mtrmng->def_policy_ref_cnt,
+ __atomic_fetch_sub(&priv->sh->mtrmng->def_policy_ref_cnt,
1, __ATOMIC_RELAXED);
if (priv->sh->meter_aso_en) {
if (!fm->def_policy) {
mtr_policy = mlx5_flow_meter_policy_find(dev,
fm->policy_id, NULL);
if (mtr_policy)
- __atomic_sub_fetch(&mtr_policy->ref_cnt,
+ __atomic_fetch_sub(&mtr_policy->ref_cnt,
1, __ATOMIC_RELAXED);
fm->policy_id = 0;
}
@@ -2146,12 +2146,12 @@ struct mlx5_flow_meter_policy *
RTE_MTR_ERROR_TYPE_UNSPECIFIED,
NULL, "Meter object is being used.");
/* Destroy the meter profile. */
- __atomic_sub_fetch(&fm->profile->ref_cnt,
+ __atomic_fetch_sub(&fm->profile->ref_cnt,
1, __ATOMIC_RELAXED);
/* Destroy the meter policy. */
policy = mlx5_flow_meter_policy_find(dev,
fm->policy_id, NULL);
- __atomic_sub_fetch(&policy->ref_cnt,
+ __atomic_fetch_sub(&policy->ref_cnt,
1, __ATOMIC_RELAXED);
memset(fm, 0, sizeof(struct mlx5_flow_meter_info));
return 0;
@@ -539,7 +539,7 @@ uint16_t mlx5_rx_burst_mprq_vec(void *dpdk_rxq, struct rte_mbuf **pkts,
void *buf_addr;
/* Increment the refcnt of the whole chunk. */
- __atomic_add_fetch(&buf->refcnt, 1, __ATOMIC_RELAXED);
+ __atomic_fetch_add(&buf->refcnt, 1, __ATOMIC_RELAXED);
MLX5_ASSERT(__atomic_load_n(&buf->refcnt,
__ATOMIC_RELAXED) <= strd_n + 1);
buf_addr = RTE_PTR_SUB(addr, RTE_PKTMBUF_HEADROOM);