From: Thomas Monjalon <thomas@monjalon.net>
To: Ruifeng Wang <ruifeng.wang@arm.com>
Cc: david.marchand@redhat.com, dev@dpdk.org,
roretzla@linux.microsoft.com, hofors@lysator.liu.se,
konstantin.v.ananyev@yandex.ru, honnappa.nagarahalli@arm.com,
nd@arm.com
Subject: Re: [PATCH v3] eal: add notes to SMP memory barrier APIs
Date: Fri, 28 Jul 2023 11:17:31 +0200 [thread overview]
Message-ID: <9139635.CDJkKcVGEf@thomas> (raw)
In-Reply-To: <20230703095642.3326601-1-ruifeng.wang@arm.com>
03/07/2023 11:56, Ruifeng Wang:
> The rte_smp_xx() APIs are deprecated. But it is not mentioned
> in the function header.
> Added notes in function header for clarification.
>
> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
> ---
> v3: Added suggested memory ordering semantic for replacement.
> Refined deprecation explanation.
> v2: Made the notes more specific.
>
> lib/eal/include/generic/rte_atomic.h | 30 ++++++++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
>
> diff --git a/lib/eal/include/generic/rte_atomic.h b/lib/eal/include/generic/rte_atomic.h
> index 58df843c54..aef44e2455 100644
> --- a/lib/eal/include/generic/rte_atomic.h
> +++ b/lib/eal/include/generic/rte_atomic.h
> @@ -55,6 +55,14 @@ static inline void rte_rmb(void);
> * Guarantees that the LOAD and STORE operations that precede the
> * rte_smp_mb() call are globally visible across the lcores
> * before the LOAD and STORE operations that follows it.
> + *
> + * @note
> + * This function is deprecated.
> + * It provides similar synchronization primitive as atomic fence,
> + * but has different syntax and memory ordering semantic. Hence
> + * deprecated for the simplicity of memory ordering semantics in use.
> + *
> + * rte_atomic_thread_fence(__ATOMIC_ACQ_REL) should be used instead.
> */
> static inline void rte_smp_mb(void);
>
> @@ -64,6 +72,17 @@ static inline void rte_smp_mb(void);
> * Guarantees that the STORE operations that precede the
> * rte_smp_wmb() call are globally visible across the lcores
> * before the STORE operations that follows it.
> + *
> + * @note
> + * This function is deprecated.
> + * It provides similar synchronization primitive as atomic fence,
> + * but has different syntax and memory ordering semantic. Hence
> + * deprecated for the simplicity of memory ordering semantics in use.
> + *
> + * rte_atomic_thread_fence(__ATOMIC_RELEASE) should be used instead.
> + * The fence also guarantees LOAD operations that precede the call
> + * are globally visible across the lcores before the STORE operations
> + * that follows it.
> */
> static inline void rte_smp_wmb(void);
>
> @@ -73,6 +92,17 @@ static inline void rte_smp_wmb(void);
> * Guarantees that the LOAD operations that precede the
> * rte_smp_rmb() call are globally visible across the lcores
> * before the LOAD operations that follows it.
> + *
> + * @note
> + * This function is deprecated.
> + * It provides similar synchronization primitive as atomic fence,
> + * but has different syntax and memory ordering semantic. Hence
> + * deprecated for the simplicity of memory ordering semantics in use.
> + *
> + * rte_atomic_thread_fence(__ATOMIC_ACQUIRE) should be used instead.
> + * The fence also guarantees LOAD operations that precede the call
> + * are globally visible across the lcores before the STORE operations
> + * that follows it.
> */
> static inline void rte_smp_rmb(void);
> ///@}
There was no more comment.
Applied, thanks.
prev parent reply other threads:[~2023-07-28 9:17 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-21 6:44 [PATCH] eal: add notes to SMP memory barrier APIs Ruifeng Wang
2023-06-21 7:29 ` Thomas Monjalon
2023-06-25 7:55 ` Ruifeng Wang
2023-06-22 18:19 ` Mattias Rönnblom
2023-06-23 21:51 ` Tyler Retzlaff
2023-06-25 8:45 ` Ruifeng Wang
2023-06-25 15:40 ` Thomas Monjalon
2023-06-25 8:17 ` Ruifeng Wang
2023-06-29 19:28 ` Mattias Rönnblom
2023-07-03 6:12 ` Ruifeng Wang
2023-06-26 7:12 ` [PATCH v2] " Ruifeng Wang
2023-06-29 19:43 ` Mattias Rönnblom
2023-07-03 7:02 ` Ruifeng Wang
2023-07-04 12:08 ` Mattias Rönnblom
2023-07-03 9:56 ` [PATCH v3] " Ruifeng Wang
2023-07-28 9:17 ` Thomas Monjalon [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9139635.CDJkKcVGEf@thomas \
--to=thomas@monjalon.net \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=hofors@lysator.liu.se \
--cc=honnappa.nagarahalli@arm.com \
--cc=konstantin.v.ananyev@yandex.ru \
--cc=nd@arm.com \
--cc=roretzla@linux.microsoft.com \
--cc=ruifeng.wang@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.