From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9464442829; Thu, 23 Mar 2023 23:54:16 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8565F42670; Thu, 23 Mar 2023 23:54:04 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 08EF14114A for ; Thu, 23 Mar 2023 23:54:00 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id 5B2A620DEE46; Thu, 23 Mar 2023 15:53:59 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 5B2A620DEE46 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1679612039; bh=QRQp/7AmseXnU3gQ9yG89pTwOXrz40wAK2qMcapE9s8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OmxEpbeqksuAABsjqlM9qtRuL39QS0WsaeUasw/JE09BZy3j5pgqMk5BnKl3ZC6Ky 8skaKOwChqJ0sq1i7rMhlCSaCr0ktwzEFJxT6oORS8kMujLCz3h1cwH//lvZSJYfzP 49YZzjJLbcAWoG7bnXlmkL4E5qeqTkkO46b9aDjs= From: Tyler Retzlaff To: dev@dpdk.org Cc: Honnappa.Nagarahalli@arm.com, Ruifeng.Wang@arm.com, thomas@monjalon.net, stephen@networkplumber.org, mb@smartsharesystems.com, Tyler Retzlaff Subject: [PATCH v3 4/7] net/ice: replace rte atomics with GCC builtin atomics Date: Thu, 23 Mar 2023 15:53:53 -0700 Message-Id: <1679612036-30773-5-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1679612036-30773-1-git-send-email-roretzla@linux.microsoft.com> References: <1679084388-19267-1-git-send-email-roretzla@linux.microsoft.com> <1679612036-30773-1-git-send-email-roretzla@linux.microsoft.com> 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 Replace the use of rte_atomic.h types and functions, instead use GCC supplied C++11 memory model builtins. Signed-off-by: Tyler Retzlaff --- drivers/net/ice/ice_dcf.c | 1 - drivers/net/ice/ice_dcf_ethdev.c | 1 - drivers/net/ice/ice_ethdev.c | 12 ++++++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c index 1c3d22a..80d2cbd 100644 --- a/drivers/net/ice/ice_dcf.c +++ b/drivers/net/ice/ice_dcf.c @@ -14,7 +14,6 @@ #include #include -#include #include #include #include diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c index dcbf2af..13ff245 100644 --- a/drivers/net/ice/ice_dcf_ethdev.c +++ b/drivers/net/ice/ice_dcf_ethdev.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index 9a88cf9..a04fca8 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -3927,8 +3927,10 @@ static int ice_init_rss(struct ice_pf *pf) struct rte_eth_link *dst = link; struct rte_eth_link *src = &dev->data->dev_link; - if (rte_atomic64_cmpset((uint64_t *)dst, *(uint64_t *)dst, - *(uint64_t *)src) == 0) + /* NOTE: review for potential ordering optimization */ + if (!__atomic_compare_exchange_n((uint64_t *)dst, + (uint64_t *)dst, *(uint64_t *)src, 0, + __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)) return -1; return 0; @@ -3941,8 +3943,10 @@ static int ice_init_rss(struct ice_pf *pf) struct rte_eth_link *dst = &dev->data->dev_link; struct rte_eth_link *src = link; - if (rte_atomic64_cmpset((uint64_t *)dst, *(uint64_t *)dst, - *(uint64_t *)src) == 0) + /* NOTE: review for potential ordering optimization */ + if (!__atomic_compare_exchange_n((uint64_t *)dst, + (uint64_t *)dst, *(uint64_t *)src, 0, + __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)) return -1; return 0; -- 1.8.3.1