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 69BC741C54; Thu, 9 Feb 2023 18:38:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0D985410EA; Thu, 9 Feb 2023 18:38:07 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 9A85240EDC for ; Thu, 9 Feb 2023 18:38:05 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id E669920C8AEE; Thu, 9 Feb 2023 09:38:04 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com E669920C8AEE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1675964284; bh=CePu6FsvGinzvSvAYT6iZwfW60Go8WUhvTH9M8GRLho=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bFn6sHSqlBn05qqISA0N4E+xouCZgXyf5H6WFxhsB/pBnVhnyqZSKJoHQ59W26Clw IqLOkNVmiyvyI4LPr702x7y/UFCBR0Mai2HsAoT77c6/Jr1nTsU5I/zEIqEOi/L/Wz ELaIUCJuJnASnj23rSK+sa+XJrD8ij1uE0c2O5eU= Date: Thu, 9 Feb 2023 09:38:04 -0800 From: Tyler Retzlaff To: Bruce Richardson Cc: dev@dpdk.org, david.marchand@redhat.com, thomas@monjalon.net, mb@smartsharesystems.com, Honnappa.Nagarahalli@arm.com Subject: Re: [PATCH v2] eal: introduce atomics abstraction Message-ID: <20230209173804.GB21854@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <1673558785-24992-1-git-send-email-roretzla@linux.microsoft.com> <1675892618-31755-1-git-send-email-roretzla@linux.microsoft.com> <1675892618-31755-2-git-send-email-roretzla@linux.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) 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 On Thu, Feb 09, 2023 at 09:04:16AM +0000, Bruce Richardson wrote: > On Wed, Feb 08, 2023 at 01:43:38PM -0800, Tyler Retzlaff wrote: > > Introduce atomics abstraction that permits optional use of standard C11 > > atomics when meson is provided the new enable_stdatomics=true option. > > > > Signed-off-by: Tyler Retzlaff > > --- > > config/meson.build | 11 ++++ > > lib/eal/arm/include/rte_atomic_32.h | 6 ++- > > lib/eal/arm/include/rte_atomic_64.h | 6 ++- > > lib/eal/include/generic/rte_atomic.h | 96 +++++++++++++++++++++++++++++++++- > > lib/eal/loongarch/include/rte_atomic.h | 6 ++- > > lib/eal/ppc/include/rte_atomic.h | 6 ++- > > lib/eal/riscv/include/rte_atomic.h | 6 ++- > > lib/eal/x86/include/rte_atomic.h | 8 ++- > > meson_options.txt | 2 + > > 9 files changed, 139 insertions(+), 8 deletions(-) > > > > diff --git a/config/meson.build b/config/meson.build > > index 26f3168..25dd628 100644 > > --- a/config/meson.build > > +++ b/config/meson.build > > @@ -255,6 +255,17 @@ endif > > # add -include rte_config to cflags > > add_project_arguments('-include', 'rte_config.h', language: 'c') > > > > +stdc_atomics_enabled = get_option('enable_stdatomics') > > +dpdk_conf.set('RTE_STDC_ATOMICS', stdc_atomics_enabled) > > + > > +if stdc_atomics_enabled > > +if cc.get_id() == 'gcc' or cc.get_id() == 'clang' > > + add_project_arguments('-std=gnu11', language: 'c') > > Is there a reason for using gnu11 on gcc and clang, rather than limiting > ourselves to proper c11 support? there is code using posix extensions, there are two ways to use them without emitting warnings. 1. -std=gnu11 (to get C11 with GNU extensions) -- or -- 2. -std=c11 and then in the source files consuming the C11 GNU extensions do some dance with various GNUC macros before including various stdxxx.h headers to enable the extensions for the translation unit. i vaguely recall that if you try to do a test build with -std=c11 over the whole tree with meson --werror it will highlight the exact code i'm talking about. selfishly i'd be happy to see (2) done and potentially eliminate the use of the extensions, but i didn't want to be disruptive as a part of this change. > > /Bruce