From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id BB6EDA0350;
	Mon, 29 Jun 2020 06:40:46 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id EA6B11B13C;
	Mon, 29 Jun 2020 06:40:45 +0200 (CEST)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr140054.outbound.protection.outlook.com [40.107.14.54])
 by dpdk.org (Postfix) with ESMTP id A55D21150
 for <dev@dpdk.org>; Mon, 29 Jun 2020 06:40:44 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M7XRDWN6EHnuHQ8gL1bBZTGz/TDThTNcxoNYgsKOA2Y=;
 b=5B1UotY+cUCLo/1NK5Movr4HF+NEXbZHIzzy20en0+j8FbgHn89L6IysULQtpwNLl/wiWkqgvaOrGv51/70GKL0M3HNoGNga4aUNttsebiqgkzYp2gDH+55xutw1mmyQyadGTfSPVHZ6pU5jTwpjR2jKbmv5xuZ+SFjWIuU7DGk=
Received: from DB7PR03CA0090.eurprd03.prod.outlook.com (2603:10a6:10:72::31)
 by DB6PR0802MB2199.eurprd08.prod.outlook.com (2603:10a6:4:82::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.25; Mon, 29 Jun
 2020 04:40:43 +0000
Received: from DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:72:cafe::97) by DB7PR03CA0090.outlook.office365.com
 (2603:10a6:10:72::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.24 via Frontend
 Transport; Mon, 29 Jun 2020 04:40:43 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT049.mail.protection.outlook.com (10.152.20.191) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.3131.20 via Frontend Transport; Mon, 29 Jun 2020 04:40:42 +0000
Received: ("Tessian outbound cea5956745d7:v60");
 Mon, 29 Jun 2020 04:40:42 +0000
X-CR-MTA-TID: 64aa7808
Received: from 02a31e26fa5e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F58BDFCC-228D-45EC-9CBA-0845E598F75B.1; 
 Mon, 29 Jun 2020 04:40:37 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 02a31e26fa5e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 29 Jun 2020 04:40:37 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l+CFKd8sm7v/ek1zHDRMOy+/4ybxzMOE102IWcVBK+tVfjX75sEIFXf4roPqXz6nA66OPAblD914U+7GP+xt19mWaQBwDBvzAOgT13J4QjsNNf8sVqRS4hFKYDtGVDEhHaHNEljm3f1KXrMNn62IzKfjQrlsanXVkbnLke58iSncNh8bHE7b8TWM055F+/dI9CcXpobhjqi6h5Fp6pk/1voNMz8wis6JbaJ/DS5XDoCGdZHsC43cUGOFI6hf65ZXrfMaxqVOAHb8RR274ZZ5tSUFId2m9f73BW5B5QlIO60t2MhCqPxNm3fzuauKDc9pytZgtlj0nvrG9TVSzp0beQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M7XRDWN6EHnuHQ8gL1bBZTGz/TDThTNcxoNYgsKOA2Y=;
 b=ZDMj1iFjp58R0bhYzWwhrfQQbcVqEQM10Smb1GWRtHt4d0JSwCrbuQPa6Up3OJxKimInT0EK086RuOu6vr2wInYBias3QbnKJIHkDWlFuCs1+8B15FreASpVbCG6ZstmppFY4XYBZqOTuLeKgHx1H/JBVwW2hx6plLNxkqfqwP5eAZ9B+r/MAPDtWtU7hu9SZm0YehCMlMi3Hv7//xqGQze/Qj5NTPoecOkWhpVgPVw7j7H6Z/4HooQOhdSsLRmQpyjCu0tmfx1jKZZsoL9+DITBsRHnlVcbVoW7XEhgD2oEuyiaGEzDy5srhrXazWNzVuPMUkuSEvijYCtANTLKyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M7XRDWN6EHnuHQ8gL1bBZTGz/TDThTNcxoNYgsKOA2Y=;
 b=5B1UotY+cUCLo/1NK5Movr4HF+NEXbZHIzzy20en0+j8FbgHn89L6IysULQtpwNLl/wiWkqgvaOrGv51/70GKL0M3HNoGNga4aUNttsebiqgkzYp2gDH+55xutw1mmyQyadGTfSPVHZ6pU5jTwpjR2jKbmv5xuZ+SFjWIuU7DGk=
Received: from DB6PR0802MB2216.eurprd08.prod.outlook.com (2603:10a6:4:85::9)
 by DB8PR08MB5513.eurprd08.prod.outlook.com (2603:10a6:10:f8::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.23; Mon, 29 Jun
 2020 04:40:36 +0000
Received: from DB6PR0802MB2216.eurprd08.prod.outlook.com
 ([fe80::9d1d:207b:e89d:199d]) by DB6PR0802MB2216.eurprd08.prod.outlook.com
 ([fe80::9d1d:207b:e89d:199d%10]) with mapi id 15.20.3131.026; Mon, 29 Jun
 2020 04:40:36 +0000
From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
To: Phil Yang <Phil.Yang@arm.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: "mattias.ronnblom@ericsson.com" <mattias.ronnblom@ericsson.com>,
 "mb@smartsharesystems.com" <mb@smartsharesystems.com>,
 "stephen@networkplumber.org" <stephen@networkplumber.org>,
 "thomas@monjalon.net" <thomas@monjalon.net>, "bruce.richardson@intel.com"
 <bruce.richardson@intel.com>, "ferruh.yigit@intel.com"
 <ferruh.yigit@intel.com>, "hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
 "jerinj@marvell.com" <jerinj@marvell.com>, "ktraynor@redhat.com"
 <ktraynor@redhat.com>, "konstantin.ananyev@intel.com"
 <konstantin.ananyev@intel.com>, "maxime.coquelin@redhat.com"
 <maxime.coquelin@redhat.com>, "olivier.matz@6wind.com"
 <olivier.matz@6wind.com>, "harry.van.haaren@intel.com"
 <harry.van.haaren@intel.com>, "erik.g.carrillo@intel.com"
 <erik.g.carrillo@intel.com>, "drc@linux.vnet.ibm.com"
 <drc@linux.vnet.ibm.com>, "david.marchand@redhat.com"
 <david.marchand@redhat.com>, "zhaoyan.chen@intel.com"
 <zhaoyan.chen@intel.com>, Ola Liljedahl <Ola.Liljedahl@arm.com>, Ruifeng Wang
 <Ruifeng.Wang@arm.com>, Phil Yang <Phil.Yang@arm.com>, nd <nd@arm.com>,
 Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>, nd <nd@arm.com>
Thread-Topic: [PATCH v5 4/4] eal/atomic: add wrapper for c11 atomic thread
 fence
Thread-Index: AQHWMzxoM2zbSme4/km4FuceL3pW7ajtDKUw
Date: Mon, 29 Jun 2020 04:40:36 +0000
Message-ID: <DB6PR0802MB2216E820A183551CB619882A986E0@DB6PR0802MB2216.eurprd08.prod.outlook.com>
References: <1589270586-4480-1-git-send-email-phil.yang@arm.com>
 <1590483667-10318-1-git-send-email-phil.yang@arm.com>
 <1590483667-10318-5-git-send-email-phil.yang@arm.com>
In-Reply-To: <1590483667-10318-5-git-send-email-phil.yang@arm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ts-tracking-id: cc53c4a7-9780-4e3a-9e24-9b2b7050a7ac.0
x-checkrecipientchecked: true
Authentication-Results-Original: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
x-originating-ip: [70.112.90.121]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: 01dfca8b-5cf8-4d7c-085c-08d81be6950d
x-ms-traffictypediagnostic: DB8PR08MB5513:|DB6PR0802MB2199:
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS: <DB6PR0802MB219901F6DF97D3B188D67AFA986E0@DB6PR0802MB2199.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:7219;OLM:7219;
x-forefront-prvs: 044968D9E1
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: 7EVk3GqzwoXEFoPLtR0S0JpqUiPs+QjKDMMEgs4l6RN4nMJKWGrR1z9kvhUPiWyXQvxgk7maC9gnm+nz83bVM1XkJesKkUoAmnXkMKNf0ghg0Mkhqtl7DHkNCLU8c/OQavcaE6SRTZORCi7UhaBtewpBI3yhJbsglXZsQcBq9QyLD66fVxhw63AeUWryCyz185ifgX6Ca8pHeOT3oi/U7WVC0+aopoxFti81IEDUzY2pqmTAcffdlMm5TZkPSsQX422jJpsFfSr9Z8RYV8VQ9JUzWo0zp34HGpaMfMpNw3OjPHJCVkYO6UTwhQfyWRv2Az2pdG2Td2YUCaw3s+XMUw==
X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en;
 SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0802MB2216.eurprd08.prod.outlook.com;
 PTR:; CAT:NONE; SFTY:;
 SFS:(4636009)(39850400004)(396003)(346002)(366004)(136003)(376002)(71200400001)(8936002)(86362001)(8676002)(26005)(186003)(83380400001)(2906002)(33656002)(7416002)(6506007)(7696005)(5660300002)(66556008)(9686003)(76116006)(66946007)(55016002)(478600001)(64756008)(66476007)(52536014)(66446008)(4326008)(316002)(54906003)(110136005);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata: ZaApm7hvx8GtRPfE19x2X1JXFRHfV18ey09oL/Y6g6R00GVAeiPXlb1+P8wV9hxEv48fw1qKbGzJFudB2L+5kBPSjDkLp64n+KghDbOimj7e0GO/byVk6dcrHsjADicEvsGv7CKMpUwshamrF7vpkvu4lXkSBmdxHc2/BKoSD9UGvVX0OZ4jeVI1Z8WSjuw69TIB72OboEXufksO7kEp5Stmv1B2WAM7ZN0AJ3WNQEQrV6FXGrYL1JRCVyuznyGwDZNP9KBH2eCrv1IAdDOB0+SXUiqPoqHgAIq/nBUGHgJ/uJb/3Ao+cPaJGJ0SexFoUqFT3Duajzq0NeBfrT3di08UGhEFIsaOVaD/mXUbnM3S41UnOHEekqe6IIzeoGjtW/Hhuj1eC8R7jN1djP6TFQ8XKev/D7X2Vs2di50cZ6gv8OAX3aPNBPX1CCuuQfpWlTc88Fun+de1LYIlyWWigxEedZOuxXqQICfToPa3GJY=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5513
Original-Authentication-Results: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;
 IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;
 PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:;
 SFS:(4636009)(376002)(396003)(39850400004)(136003)(346002)(46966005)(82310400002)(26005)(186003)(6506007)(5660300002)(33656002)(8676002)(52536014)(8936002)(478600001)(336012)(83380400001)(316002)(86362001)(81166007)(70586007)(54906003)(110136005)(4326008)(82740400003)(55016002)(2906002)(47076004)(70206006)(9686003)(7696005)(356005);
 DIR:OUT; SFP:1101; 
X-MS-Office365-Filtering-Correlation-Id-Prvs: 08db135a-eaf4-4b13-315d-08d81be6914d
X-Forefront-PRVS: 044968D9E1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: qq5yR+AnCeSy1R4is8FkWyVY5rtxIqmHdGLPXTYnlYyjihZIVWFP7f4PObUQoX7EFXxg7IYajG8P6zerXcG0keMvPGpi0VnJ1kiO6hE9AzG84fECNPfBdc51LGPALo/lwcymuirwqgmokBeGA69w+NqSN3p3WmXE3PYLujAfSptWUDPXHtDLim2KcFN5KQAhttNXv2HLaAW97ZVrNjzttFMd+ei5lge7xXUcVM6J3pyQX7+M80SBZTD3g13R3Xzlz9vMDjHGyvRS6vMq2EL+NkBrLBHts3QFFnNMSluYGzHHhi8BFK+vk3L3nTW9VXp3/sXcA1CbGZ8uibAuXlk/mcGvhvDD+S3wtfT3hw4Vb8bYJUQQ6UQnEwHvf+nbrOcYLn8+tqXNUzsNoRKaXyvuqw==
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2020 04:40:42.9942 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 01dfca8b-5cf8-4d7c-085c-08d81be6950d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];
 Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2199
Subject: Re: [dpdk-dev] [PATCH v5 4/4] eal/atomic: add wrapper for c11
 atomic thread fence
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

<snip>

> Subject: [PATCH v5 4/4] eal/atomic: add wrapper for c11 atomic thread fen=
ce
>=20
> Provide a wrapper for __atomic_thread_fence built-in to support optimized
> code for __ATOMIC_SEQ_CST memory order for x86 platforms.
>=20
> Suggested-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> Signed-off-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
> ---
>  lib/librte_eal/arm/include/rte_atomic_32.h  |  6 ++++++
> lib/librte_eal/arm/include/rte_atomic_64.h  |  6 ++++++
> lib/librte_eal/include/generic/rte_atomic.h |  6 ++++++
>  lib/librte_eal/ppc/include/rte_atomic.h     |  6 ++++++
>  lib/librte_eal/x86/include/rte_atomic.h     | 17 +++++++++++++++++
>  5 files changed, 41 insertions(+)
>=20
> diff --git a/lib/librte_eal/arm/include/rte_atomic_32.h
> b/lib/librte_eal/arm/include/rte_atomic_32.h
> index 7dc0d06..dbe7cc6 100644
> --- a/lib/librte_eal/arm/include/rte_atomic_32.h
> +++ b/lib/librte_eal/arm/include/rte_atomic_32.h
> @@ -37,6 +37,12 @@ extern "C" {
>=20
>  #define rte_cio_rmb() rte_rmb()
>=20
> +static __rte_always_inline void
> +rte_atomic_thread_fence(int mo)
> +{
> +	__atomic_thread_fence(mo);
> +}
> +
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/lib/librte_eal/arm/include/rte_atomic_64.h
> b/lib/librte_eal/arm/include/rte_atomic_64.h
> index 7b7099c..22ff8ec 100644
> --- a/lib/librte_eal/arm/include/rte_atomic_64.h
> +++ b/lib/librte_eal/arm/include/rte_atomic_64.h
> @@ -41,6 +41,12 @@ extern "C" {
>=20
>  #define rte_cio_rmb() asm volatile("dmb oshld" : : : "memory")
>=20
> +static __rte_always_inline void
> +rte_atomic_thread_fence(int mo)
> +{
> +	__atomic_thread_fence(mo);
> +}
> +
>  /*------------------------ 128 bit atomic operations -------------------=
------*/
>=20
>  #if defined(__ARM_FEATURE_ATOMICS) ||
> defined(RTE_ARM_FEATURE_ATOMICS) diff --git
> a/lib/librte_eal/include/generic/rte_atomic.h
> b/lib/librte_eal/include/generic/rte_atomic.h
> index e6ab15a..5b941db 100644
> --- a/lib/librte_eal/include/generic/rte_atomic.h
> +++ b/lib/librte_eal/include/generic/rte_atomic.h
> @@ -158,6 +158,12 @@ static inline void rte_cio_rmb(void);
>  	asm volatile ("" : : : "memory");	\
>  } while(0)
>=20
> +/**
> + * Synchronization fence between threads based on the specified
> + * memory order.
> + */
> +static inline void rte_atomic_thread_fence(int mo);
> +
>  /*------------------------- 16 bit atomic operations -------------------=
------*/
>=20
>  /**
> diff --git a/lib/librte_eal/ppc/include/rte_atomic.h
> b/lib/librte_eal/ppc/include/rte_atomic.h
> index 7e3e131..91c5f30 100644
> --- a/lib/librte_eal/ppc/include/rte_atomic.h
> +++ b/lib/librte_eal/ppc/include/rte_atomic.h
> @@ -40,6 +40,12 @@ extern "C" {
>=20
>  #define rte_cio_rmb() rte_rmb()
>=20
> +static __rte_always_inline void
> +rte_atomic_thread_fence(int mo)
> +{
> +	__atomic_thread_fence(mo);
> +}
> +
>  /*------------------------- 16 bit atomic operations -------------------=
------*/
>  /* To be compatible with Power7, use GCC built-in functions for 16 bit
>   * operations */
> diff --git a/lib/librte_eal/x86/include/rte_atomic.h
> b/lib/librte_eal/x86/include/rte_atomic.h
> index b9dcd30..bd256e7 100644
> --- a/lib/librte_eal/x86/include/rte_atomic.h
> +++ b/lib/librte_eal/x86/include/rte_atomic.h
> @@ -83,6 +83,23 @@ rte_smp_mb(void)
>=20
>  #define rte_cio_rmb() rte_compiler_barrier()
>=20
> +/**
> + * Synchronization fence between threads based on the specified
> + * memory order.
> + *
> + * On x86 the __atomic_thread_fence(__ATOMIC_SEQ_CST) generates
> + * full 'mfence' which is quite expensive. The optimized
> + * implementation of rte_smp_mb is used instead.
> + */
> +static __rte_always_inline void
> +rte_atomic_thread_fence(int mo)
> +{
> +	if (mo =3D=3D __ATOMIC_SEQ_CST)
> +		rte_smp_mb();
> +	else
> +		__atomic_thread_fence(mo);
> +}
I think __ATOMIC_SEQ_CST needs to be used rarely. IMO, rte_atomic_thread_fe=
nce should be called only for __ATOMIC_SEQ_CST memory order. For all others=
 the __atomic_thread_fence can be used directly. This will help us to stick=
 to using the atomic built-ins in most of the cases.

Konstantin, is this ok for you?

> +
>  /*------------------------- 16 bit atomic operations -------------------=
------*/
>=20
>  #ifndef RTE_FORCE_INTRINSICS
> --
> 2.7.4