DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: "Morten Brørup" <mb@smartsharesystems.com>
Cc: Stephen Hemminger <stephen@networkplumber.org>,
	Thomas Monjalon <thomas@monjalon.net>,
	Bruce Richardson <bruce.richardson@intel.com>,
	David Marchand <david.marchand@redhat.com>,
	dev@dpdk.org, Ali Alnubani <alialnu@nvidia.com>,
	galco@nvidia.com
Subject: Re: [PATCH v5] build: update DPDK to use C11 standard
Date: Thu, 10 Aug 2023 15:34:43 -0700	[thread overview]
Message-ID: <20230810223443.GA5743@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> (raw)
In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D87AE6@smartserver.smartshare.dk>

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 <thomas@monjalon.net> 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 <thomas@monjalon.net> wrote:
> > > > >
> > > > > > 03/08/2023 15:36, David Marchand:
> > > > > > > On Wed, Aug 2, 2023 at 2:32 PM Bruce Richardson
> > > > > > > <bruce.richardson@intel.com> 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 <bruce.richardson@intel.com>
> > > > > > > > Acked-by: Morten Brørup <mb@smartsharesystems.com>
> > > > > > > > Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> > > > > > > Tested-by: Ali Alnubani <alialnu@nvidia.com>
> > > > > > >
> > > > > > > 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?
> 

  reply	other threads:[~2023-08-10 22:34 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-31 10:38 [PATCH] " Bruce Richardson
2023-07-31 10:51 ` Morten Brørup
2023-07-31 15:58 ` [PATCH v2] " Bruce Richardson
2023-07-31 16:24   ` Tyler Retzlaff
2023-07-31 16:42   ` Tyler Retzlaff
2023-07-31 16:58 ` [PATCH v3] " Bruce Richardson
2023-07-31 17:05   ` Tyler Retzlaff
2023-08-01  0:39     ` Patrick Robb
2023-08-01  9:20       ` Bruce Richardson
2023-08-01 10:19       ` Bruce Richardson
2023-08-01 10:35         ` David Marchand
2023-08-01 10:39           ` Bruce Richardson
2023-08-01 10:50             ` Bruce Richardson
2023-08-01 12:42               ` Ali Alnubani
2023-08-01 13:03                 ` Bruce Richardson
2023-08-01 13:22                 ` Bruce Richardson
2023-08-01 13:47                   ` Ali Alnubani
2023-08-01 14:00                     ` Bruce Richardson
2023-08-02 10:10                       ` Bruce Richardson
2023-08-01 10:37         ` Thomas Monjalon
2023-08-01 14:00           ` Ali Alnubani
2023-08-01 13:15 ` [PATCH v4] " Bruce Richardson
2023-08-01 13:24   ` David Marchand
2023-08-01 13:29     ` Bruce Richardson
2023-08-01 13:34       ` David Marchand
2023-08-01 15:47   ` Ali Alnubani
2023-08-01 15:50     ` Bruce Richardson
2023-08-01 16:20       ` Tyler Retzlaff
2023-08-01 20:12         ` Patrick Robb
2023-08-02  6:32           ` David Marchand
2023-08-02 13:40             ` Patrick Robb
2023-08-03  9:21               ` David Marchand
2023-08-02 12:31 ` [PATCH v5] " Bruce Richardson
2023-08-02 12:35   ` Bruce Richardson
2023-08-03 12:38   ` Ali Alnubani
2023-08-03 13:36   ` David Marchand
2023-08-10 13:34     ` Thomas Monjalon
2023-08-10 14:48       ` Stephen Hemminger
2023-08-10 16:35         ` Bruce Richardson
2023-08-10 16:49           ` Thomas Monjalon
2023-08-10 17:02             ` Stephen Hemminger
2023-08-10 18:17               ` Morten Brørup
2023-08-10 22:34                 ` Tyler Retzlaff [this message]
2023-08-11  8:52                   ` Bruce Richardson
2023-08-11 10:12                     ` Morten Brørup

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230810223443.GA5743@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net \
    --to=roretzla@linux.microsoft.com \
    --cc=alialnu@nvidia.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=galco@nvidia.com \
    --cc=mb@smartsharesystems.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).