From patchwork Wed Jun 21 06:44:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruifeng Wang X-Patchwork-Id: 128878 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5CC9842D10; Wed, 21 Jun 2023 08:44:49 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D37B1406BC; Wed, 21 Jun 2023 08:44:48 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mails.dpdk.org (Postfix) with ESMTP id 5C0924068E for ; Wed, 21 Jun 2023 08:44:47 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 86F1B1063; Tue, 20 Jun 2023 23:45:30 -0700 (PDT) Received: from net-arm-n1amp-02.shanghai.arm.com (net-arm-n1amp-02.shanghai.arm.com [10.169.210.108]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 547F53F59C; Tue, 20 Jun 2023 23:44:44 -0700 (PDT) From: Ruifeng Wang To: thomas@monjalon.net, david.marchand@redhat.com Cc: dev@dpdk.org, konstantin.v.ananyev@yandex.ru, honnappa.nagarahalli@arm.com, nd@arm.com, Ruifeng Wang Subject: [PATCH] eal: add notes to SMP memory barrier APIs Date: Wed, 21 Jun 2023 14:44:20 +0800 Message-Id: <20230621064420.163931-1-ruifeng.wang@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 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 --- lib/eal/include/generic/rte_atomic.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/eal/include/generic/rte_atomic.h b/lib/eal/include/generic/rte_atomic.h index 58df843c54..542a2c16ff 100644 --- a/lib/eal/include/generic/rte_atomic.h +++ b/lib/eal/include/generic/rte_atomic.h @@ -55,6 +55,11 @@ 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 adds complexity to the memory model + * used by this project. C11 memory model should always be used. + * rte_atomic_thread_fence() should be used instead. */ static inline void rte_smp_mb(void); @@ -64,6 +69,11 @@ 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 adds complexity to the memory model + * used by this project. C11 memory model should always be used. + * rte_atomic_thread_fence() should be used instead. */ static inline void rte_smp_wmb(void); @@ -73,6 +83,11 @@ 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 adds complexity to the memory model + * used by this project. C11 memory model should always be used. + * rte_atomic_thread_fence() should be used instead. */ static inline void rte_smp_rmb(void); ///@}