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 2BDFDA0546; Fri, 30 Apr 2021 17:51:50 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D61734014F; Fri, 30 Apr 2021 17:51:49 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 0C9694013F for ; Fri, 30 Apr 2021 17:51:48 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id 2AFA620B7188; Fri, 30 Apr 2021 08:51:47 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 2AFA620B7188 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1619797907; bh=Xh7P2nooCBZHwZvbzqMx2c6RCm+I8ex1BA5fmyHXlAk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=rF8fSA0RROzfhecRBH6S3V86M2ajq0y3Y5ucKUWfI8o4/4Th3imc+uzp+vkp9sorH 1/aCgVros+V4PF3dGHKBb41Itj6KnAlc7gWJ6ET5rKd95WfnUr+s7ExJ+RDc5689nW sJ5xzyZVRJNESNrudOOebvoE4XJ9SVAmLsNmzr5o= Date: Fri, 30 Apr 2021 08:51:47 -0700 From: Tyler Retzlaff To: Honnappa Nagarahalli Cc: Joyce Kong , "thomas@monjalon.net" , "david.marchand@redhat.com" , Ruifeng Wang , "dev@dpdk.org" , nd Message-ID: <20210430155147.GA24271@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <20210421071733.17794-1-joyce.kong@arm.com> <20210429190358.GG21799@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> <20210429193854.GH21799@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> 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) Subject: Re: [dpdk-dev] [PATCH v1] test/ticketlock: use C11 atomic builtins for lcores sync 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 Sender: "dev" On Thu, Apr 29, 2021 at 09:10:04PM +0000, Honnappa Nagarahalli wrote: > > > > > > your subject line indicates the use of C11 which is a standard [1]. > > > > the patch itself uses gcc atomics builtins which are not part of C11 standard so > > the subject line is incorrect and misleading. > Ok, understood. How about the following? > "use gcc's C11 atomic built-ins for lcore synchronization" drop 'C11' from it and it describes the actual change > > > > > [1] http://www.open-std.org/jtc1/sc22/wg14/www/standards.html#9899 > > > > > > > > Not sure if these compilers are supported in DPDK. DPDK officially supports > > gcc, clang (not sure on icc). > > > > dpdk may incorporate support for other compilers in the future so unless there is > > substantive justification for moving to non-standard/non-portable code i'm > > asking that this change not be made as it will complicate those future efforts. > There is some history [1] behind why we are doing this. I guess new compiler support needs to be discussed in the future. > > [1] https://www.dpdk.org/blog/2021/03/26/dpdk-adopts-the-c11-memory-model/ thanks for the reference. it seems this documents explicitly states the choice to not use C11 stdatomic.h and the basis of that choice appears to be to support old versions of gcc. it doesn't seem particularly forward looking to reduce future compiler portability to support old versions of gcc thereby excluding standards compliant compilers. i would like to hear from the tech board that it is the best trade-off for the project to reduce compiler portability for older versions of gcc instead of adopting standard C11 atomics which locks out the use of other compilers. if this change does go forward could i at least ask that the builtins used are abstracted behind either macros or inline functions so that if alternate implementations appear for the builtins we don't have to perform shotgun surgery on the broader codebase when it arrives? thanks!