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 288164280D; Thu, 23 Mar 2023 23:35:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0980342C54; Thu, 23 Mar 2023 23:34:49 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id B0DFF4161A for ; Thu, 23 Mar 2023 23:34:43 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id 0C81B20DEE46; Thu, 23 Mar 2023 15:34:42 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 0C81B20DEE46 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1679610883; bh=NZUoL5B2q5Grwd+P/y25x3Mjz5Wjc8owPOQWGiUp0oY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Exr55Rerz14BP9FUcl+khRYPAapmkKbHud0tZ+E+yMkdi18VnvZmQ9TusR3sxfL66 85PekWXzldHuF2duWpeo4OOctpB9jNI1mtExz8VK58nJEh/GGC/pPcCYuw4CUCUsLS QslL0Vrty5fm6V7Sk+fyTS3DW8U5DxDpl9kSUiy8= 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 v2 4/7] net/ice: replace rte atomics with GCC builtin atomics Date: Thu, 23 Mar 2023 15:34:38 -0700 Message-Id: <1679610881-25997-5-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1679610881-25997-1-git-send-email-roretzla@linux.microsoft.com> References: <1679084388-19267-1-git-send-email-roretzla@linux.microsoft.com> <1679610881-25997-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..5608f6a 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