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 4F2054302E; Fri, 11 Aug 2023 00:34:46 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3CD6643255; Fri, 11 Aug 2023 00:34:46 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id C16D043254 for ; Fri, 11 Aug 2023 00:34:44 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id CE92920FD02C; Thu, 10 Aug 2023 15:34:43 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com CE92920FD02C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1691706883; bh=2ge5yM2oqj0AMhceHOhHSGoRzLrdEZY1pV9g5veMqJw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=jXY/1XaHS1ftRqYGj56eQq6wTq7F1LvAfXi5yrjOeyhkKou0sMxlIS58AWcavQw5B Mocqb75uu/3XvBLyUi6SLJDBeWtF41zxwn3jjLSBj1padUb//xbDfXrHWnRwRHh8Ig xMG//uo3zI39JIJSC3DkM1341yuzfDF6vZD7vpHY= Date: Thu, 10 Aug 2023 15:34:43 -0700 From: Tyler Retzlaff To: Morten =?iso-8859-1?Q?Br=F8rup?= Cc: Stephen Hemminger , Thomas Monjalon , Bruce Richardson , David Marchand , dev@dpdk.org, Ali Alnubani , galco@nvidia.com Subject: Re: [PATCH v5] build: update DPDK to use C11 standard Message-ID: <20230810223443.GA5743@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <20230731103858.1491751-1-bruce.richardson@intel.com> <20230810074839.446f655d@hermes.local> <60418966.matp6XCIr4@thomas> <20230810100258.0a38bdb9@hermes.local> <98CBD80474FA8B44BF855DF32C47DC35D87AE6@smartserver.smartshare.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D87AE6@smartserver.smartshare.dk> 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, Aug 10, 2023 at 08:17:23PM +0200, Morten Brørup wrote: > > From: Stephen Hemminger [mailto:stephen@networkplumber.org] > > Sent: Thursday, 10 August 2023 19.03 > > > > On Thu, 10 Aug 2023 18:49:09 +0200 > > Thomas Monjalon wrote: > > > > > 10/08/2023 18:35, Bruce Richardson: > > > > On Thu, Aug 10, 2023 at 07:48:39AM -0700, Stephen Hemminger wrote: > > > > > On Thu, 10 Aug 2023 15:34:43 +0200 > > > > > Thomas Monjalon wrote: > > > > > > > > > > > 03/08/2023 15:36, David Marchand: > > > > > > > On Wed, Aug 2, 2023 at 2:32 PM Bruce Richardson > > > > > > > wrote: > > > > > > > > > > > > > > > > As previously announced, DPDK 23.11 will require a C11 > > supporting > > > > > > > > compiler and will use the C11 standard in all builds. > > > > > > > > > > > > > > > > Forcing use of the C standard, rather than the standard with > > > > > > > > GNU extensions, means that some posix definitions which are > > not in > > > > > > > > the C standard are unavailable by default. We fix this by > > ensuring > > > > > > > > the correct defines or cflags are passed to the components > > that > > > > > > > > need them. > > > > > > > > > > > > > > > > Signed-off-by: Bruce Richardson > > > > > > > > Acked-by: Morten Brørup > > > > > > > > Acked-by: Tyler Retzlaff > > > > > > > Tested-by: Ali Alnubani > > > > > > > > > > > > > > The CI results look good. > > > > > > > > > > > > > > Applied, thanks! > > > > > > > > > > > > The compiler support is updated, that's fine. > > > > > > Should we go further and document some major Linux distributions? > > > > > > One concern is to make clear RHEL 7 is not supported anymore. > > > > > > Should it be a release note? > > > > > > > > > > > > > > Well, DPDK currently is still building fine on Centos 7 for me, so > > let's > > > > hold off on claiming anything until it's definitely broken. > > > > > > > > > > > > > > > > > > > > Should be addressed in linux/sys_reqs.rst as well as deprecation > > notice. > > > > > Also, is it possible to add automated check in build for compiler > > version? > > > > > > > > I'd be a little careful about what we claim, and I think current docs > > are > > > > accurate vs our original plans. What we didn't plan to support was > > the GCC > > > > and Clang compiler versions in RHEL 7, but if one installs an updated > > GCC, > > > > for example, the build should be fine on RHEL 7. > > > > > > > > Now, though, we are having to re-evaluate our use of stdatomics, > > which > > > > means we may not actually break RHEL 7 compatibility after all. We'll > > have > > > > to "watch this space" as the saying goes! > > > > > > > > Overall, I think the approach of build-time checks is the best, but > > not > > > > for specific versions, but instead for capabilities. If/when we add > > support > > > > for stdatomics to DPDK builds on Linux/BSD, at that point we put in > > the > > > > initial compiler checks a suitable check for them being present and > > output > > > > a suitable error if not found. > > Exactly. Capabilities checks is the right way to go when cross compiling. > > > > > > > OK looks good > > > > Note: RHEL 7 official end of maintenance support is not until June 2024. > > > > It was agreed to abandon RHEL 7, mainly driven by the need for C11 stdatomic.h, which is not supported by the GCC C compiler included with RHEL 7. So it pains me to admit that Stephen has a valid point here, after it turned out that the GCC g++ is not C11 compatible. we would substantially reduce porting delta to retain C11, there are a number of other things that help with portability from C11 that we can utilized that i hadn't brought up before since it had been resolved to adopt it. it would be really unfortunate to say we aren't going to require C11 since that would cause me to have to bring a lot more conditional compile into the tree. just fyi > > Regardless, I think that DPDK 23.11 support for RHEL 7 should be limited to "might work on RHEL 7", rather than guaranteed support for RHEL 7 (which would require DPDK CI to resume testing on RHEL 7). > > IIRC, there was also the argument that DPDK 23.11 LTS support ends after June 2024. > > Here's another argument for abandoning RHEL 7: RHEL 7 uses Linux Kernel 3.10. Although DPDK requires Linux Kernel >= 4.14, we promise backwards compatibility for RHEL/CentOS 7. Do we really still want to do that? (Note: RHEL 8 uses Linux Kernel 4.18.) > > While we're discussing the Linux Kernel version required... Is it documented anywhere why a specific Linux Kernel version is required by DPDK? Or more specifically: Is it documented anywhere which DPDK features require which specific Linux Kernel versions? >