> From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com]
> Sent: Friday, 11 August 2023 19.32
> 
> Introduce __rte_atomic qualifying casts in rte_optional atomics inline
> functions to prevent cascading the need to pass __rte_atomic qualified
> arguments.
> 
> Warning, this is really implementation dependent and being done
> temporarily to avoid having to convert more of the libraries and tests in
> DPDK in the initial series that introduces the API. The consequence of the
> assumption of the ABI of the types in question not being ``the same'' is
> only a risk that may be realized when enable_stdatomic=true.
> 
> Signed-off-by: Tyler Retzlaff <roret...@linux.microsoft.com>
> ---
>  lib/eal/include/generic/rte_atomic.h | 48 ++++++++++++++++++++++++-----------
> -
>  lib/eal/include/generic/rte_pause.h  |  9 ++++---
>  lib/eal/x86/rte_power_intrinsics.c   |  7 +++---
>  3 files changed, 42 insertions(+), 22 deletions(-)
> 
> diff --git a/lib/eal/include/generic/rte_atomic.h
> b/lib/eal/include/generic/rte_atomic.h
> index f6c4b3e..4f954e0 100644
> --- a/lib/eal/include/generic/rte_atomic.h
> +++ b/lib/eal/include/generic/rte_atomic.h
> @@ -274,7 +274,8 @@
>  static inline void
>  rte_atomic16_add(rte_atomic16_t *v, int16_t inc)
>  {
> -     rte_atomic_fetch_add_explicit(&v->cnt, inc, rte_memory_order_seq_cst);
> +     rte_atomic_fetch_add_explicit((volatile int16_t __rte_atomic *)&v->cnt,
> inc,
> +         rte_memory_order_seq_cst);

As mentioned in my review to the 2/6 patch, I think __rte_atomic should come 
before the type, like this:
(volatile __rte_atomic int16_t *)

Same with all the changes.

Otherwise good.

Reviewed-by: Morten Brørup <m...@smartsharesystems.com>

Reply via email to