DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] build: announce requirement for C11
@ 2023-05-03 15:14 Bruce Richardson
  2023-05-03 15:35 ` Tyler Retzlaff
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Bruce Richardson @ 2023-05-03 15:14 UTC (permalink / raw)
  To: dev, techboard; +Cc: Bruce Richardson

Add a deprecation notice informing users that we will require a C11
compiler from 23.11 release onwards. This requirement was agreed by
technical board to enable use of newer C language features, e.g.
standard atomics. [1]

[1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/rel_notes/deprecation.rst | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index dcc1ca1696..9a391d2c49 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -11,6 +11,12 @@ here.
 Deprecation Notices
 -------------------
 
+* C Compiler: From DPDK 23.11 onwards,
+  building DPDK will require a C compiler which supports the C11 standard, or later.
+  Please note:
+     - C11 is supported from GCC version 5 onwards, and is the default language version in that release
+     - C11 is the default compilation mode in Clang from version 3.6
+
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-- 
2.39.2


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] build: announce requirement for C11
  2023-05-03 15:14 [PATCH] build: announce requirement for C11 Bruce Richardson
@ 2023-05-03 15:35 ` Tyler Retzlaff
  2023-05-03 15:37   ` Bruce Richardson
  2023-05-03 15:39 ` Ferruh Yigit
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 19+ messages in thread
From: Tyler Retzlaff @ 2023-05-03 15:35 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, techboard

On Wed, May 03, 2023 at 04:14:13PM +0100, Bruce Richardson wrote:
> Add a deprecation notice informing users that we will require a C11
> compiler from 23.11 release onwards. This requirement was agreed by
> technical board to enable use of newer C language features, e.g.
> standard atomics. [1]
> 
> [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  doc/guides/rel_notes/deprecation.rst | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index dcc1ca1696..9a391d2c49 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -11,6 +11,12 @@ here.
>  Deprecation Notices
>  -------------------
>  
> +* C Compiler: From DPDK 23.11 onwards,
> +  building DPDK will require a C compiler which supports the C11 standard, or later.
> +  Please note:
> +     - C11 is supported from GCC version 5 onwards, and is the default language version in that release
> +     - C11 is the default compilation mode in Clang from version 3.6

suggest adding an additional qualification that

  C11 conformant compiler including support for optional standard atomics

  does NOT #define __STDC_NO_ATOMICS__ 1

  which requires providing the stdatomic.h header and feature. this
  shouldn't be contentious since both gcc and clang have support.
  
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>

> +
>  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
>    for returning key match count. It will ease handling of no-match case.
>  
> -- 
> 2.39.2

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] build: announce requirement for C11
  2023-05-03 15:35 ` Tyler Retzlaff
@ 2023-05-03 15:37   ` Bruce Richardson
  0 siblings, 0 replies; 19+ messages in thread
From: Bruce Richardson @ 2023-05-03 15:37 UTC (permalink / raw)
  To: Tyler Retzlaff; +Cc: dev, techboard

On Wed, May 03, 2023 at 08:35:44AM -0700, Tyler Retzlaff wrote:
> On Wed, May 03, 2023 at 04:14:13PM +0100, Bruce Richardson wrote:
> > Add a deprecation notice informing users that we will require a C11
> > compiler from 23.11 release onwards. This requirement was agreed by
> > technical board to enable use of newer C language features, e.g.
> > standard atomics. [1]
> > 
> > [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  doc/guides/rel_notes/deprecation.rst | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > index dcc1ca1696..9a391d2c49 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -11,6 +11,12 @@ here.
> >  Deprecation Notices
> >  -------------------
> >  
> > +* C Compiler: From DPDK 23.11 onwards,
> > +  building DPDK will require a C compiler which supports the C11 standard, or later.
> > +  Please note:
> > +     - C11 is supported from GCC version 5 onwards, and is the default language version in that release
> > +     - C11 is the default compilation mode in Clang from version 3.6
> 
> suggest adding an additional qualification that
> 
>   C11 conformant compiler including support for optional standard atomics
> 
>   does NOT #define __STDC_NO_ATOMICS__ 1
> 
>   which requires providing the stdatomic.h header and feature. this
>   shouldn't be contentious since both gcc and clang have support.
>   

Agree, that is good to clarify. I'll wait a while for more feedback and
then do a V2.

> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> 
> > +
> >  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
> >    for returning key match count. It will ease handling of no-match case.
> >  
> > -- 
> > 2.39.2

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] build: announce requirement for C11
  2023-05-03 15:14 [PATCH] build: announce requirement for C11 Bruce Richardson
  2023-05-03 15:35 ` Tyler Retzlaff
@ 2023-05-03 15:39 ` Ferruh Yigit
  2023-05-03 15:45   ` Tyler Retzlaff
  2023-05-03 15:57   ` Bruce Richardson
  2023-05-03 17:30 ` [PATCH v2] " Bruce Richardson
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 19+ messages in thread
From: Ferruh Yigit @ 2023-05-03 15:39 UTC (permalink / raw)
  To: Bruce Richardson, dev, techboard

On 5/3/2023 4:14 PM, Bruce Richardson wrote:
> Add a deprecation notice informing users that we will require a C11
> compiler from 23.11 release onwards. This requirement was agreed by
> technical board to enable use of newer C language features, e.g.
> standard atomics. [1]
> 
> [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  doc/guides/rel_notes/deprecation.rst | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index dcc1ca1696..9a391d2c49 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -11,6 +11,12 @@ here.
>  Deprecation Notices
>  -------------------
>  
> +* C Compiler: From DPDK 23.11 onwards,
> +  building DPDK will require a C compiler which supports the C11 standard, or later.
> +  Please note:
> +     - C11 is supported from GCC version 5 onwards, and is the default language version in that release
> +     - C11 is the default compilation mode in Clang from version 3.6
> +
>  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
>    for returning key match count. It will ease handling of no-match case.
>  

This only applies to DPDK internals, right?
Application linked with DPDK library won't have this requirement,
meaning DPDK public headers won't rely on C99 and C11 features.

Although this is a deprecation notice for DPDK, if above is correct,
does it make sense to highlight it to not confuse users?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] build: announce requirement for C11
  2023-05-03 15:39 ` Ferruh Yigit
@ 2023-05-03 15:45   ` Tyler Retzlaff
  2023-05-03 15:57   ` Bruce Richardson
  1 sibling, 0 replies; 19+ messages in thread
From: Tyler Retzlaff @ 2023-05-03 15:45 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Bruce Richardson, dev, techboard

On Wed, May 03, 2023 at 04:39:14PM +0100, Ferruh Yigit wrote:
> On 5/3/2023 4:14 PM, Bruce Richardson wrote:
> > Add a deprecation notice informing users that we will require a C11
> > compiler from 23.11 release onwards. This requirement was agreed by
> > technical board to enable use of newer C language features, e.g.
> > standard atomics. [1]
> > 
> > [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  doc/guides/rel_notes/deprecation.rst | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > index dcc1ca1696..9a391d2c49 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -11,6 +11,12 @@ here.
> >  Deprecation Notices
> >  -------------------
> >  
> > +* C Compiler: From DPDK 23.11 onwards,
> > +  building DPDK will require a C compiler which supports the C11 standard, or later.
> > +  Please note:
> > +     - C11 is supported from GCC version 5 onwards, and is the default language version in that release
> > +     - C11 is the default compilation mode in Clang from version 3.6
> > +
> >  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
> >    for returning key match count. It will ease handling of no-match case.
> >  
> 
> This only applies to DPDK internals, right?
> Application linked with DPDK library won't have this requirement,
> meaning DPDK public headers won't rely on C99 and C11 features.
> 
> Although this is a deprecation notice for DPDK, if above is correct,
> does it make sense to highlight it to not confuse users?

it applies to applications as well because dpdk exposes integers
expected to be atomic via headers and inline functions use atomic
functions both internal/external.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] build: announce requirement for C11
  2023-05-03 15:39 ` Ferruh Yigit
  2023-05-03 15:45   ` Tyler Retzlaff
@ 2023-05-03 15:57   ` Bruce Richardson
  2023-05-03 16:07     ` Tyler Retzlaff
  2023-05-03 16:51     ` Ferruh Yigit
  1 sibling, 2 replies; 19+ messages in thread
From: Bruce Richardson @ 2023-05-03 15:57 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev, techboard

On Wed, May 03, 2023 at 04:39:14PM +0100, Ferruh Yigit wrote:
> On 5/3/2023 4:14 PM, Bruce Richardson wrote:
> > Add a deprecation notice informing users that we will require a C11
> > compiler from 23.11 release onwards. This requirement was agreed by
> > technical board to enable use of newer C language features, e.g.
> > standard atomics. [1]
> > 
> > [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  doc/guides/rel_notes/deprecation.rst | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > index dcc1ca1696..9a391d2c49 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -11,6 +11,12 @@ here.
> >  Deprecation Notices
> >  -------------------
> >  
> > +* C Compiler: From DPDK 23.11 onwards,
> > +  building DPDK will require a C compiler which supports the C11 standard, or later.
> > +  Please note:
> > +     - C11 is supported from GCC version 5 onwards, and is the default language version in that release
> > +     - C11 is the default compilation mode in Clang from version 3.6
> > +
> >  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
> >    for returning key match count. It will ease handling of no-match case.
> >  
> 
> This only applies to DPDK internals, right?
> Application linked with DPDK library won't have this requirement,
> meaning DPDK public headers won't rely on C99 and C11 features.
>
No, AFAIK, that is not correct. Originally I had thought that that would be
the case - hence the special-case tests for the headers in my previous C99
patch - but the consensus at the DPDK techboard was that we won't require
all headers to remain C89 compatible.

Originally, I was unsure about this, but now I agree with this position, on
the basis that since GCC 5, unless you have been explicitly requesting an
older standard, the compiler is using C11 rules. Therefore, everyone using
these later GCC versions is already using C11+.

/Bruce 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] build: announce requirement for C11
  2023-05-03 15:57   ` Bruce Richardson
@ 2023-05-03 16:07     ` Tyler Retzlaff
  2023-05-03 16:51     ` Ferruh Yigit
  1 sibling, 0 replies; 19+ messages in thread
From: Tyler Retzlaff @ 2023-05-03 16:07 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Ferruh Yigit, dev, techboard

On Wed, May 03, 2023 at 04:57:40PM +0100, Bruce Richardson wrote:
> On Wed, May 03, 2023 at 04:39:14PM +0100, Ferruh Yigit wrote:
> > On 5/3/2023 4:14 PM, Bruce Richardson wrote:
> > > Add a deprecation notice informing users that we will require a C11
> > > compiler from 23.11 release onwards. This requirement was agreed by
> > > technical board to enable use of newer C language features, e.g.
> > > standard atomics. [1]
> > > 
> > > [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> > > 
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > > ---
> > >  doc/guides/rel_notes/deprecation.rst | 6 ++++++
> > >  1 file changed, 6 insertions(+)
> > > 
> > > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > > index dcc1ca1696..9a391d2c49 100644
> > > --- a/doc/guides/rel_notes/deprecation.rst
> > > +++ b/doc/guides/rel_notes/deprecation.rst
> > > @@ -11,6 +11,12 @@ here.
> > >  Deprecation Notices
> > >  -------------------
> > >  
> > > +* C Compiler: From DPDK 23.11 onwards,
> > > +  building DPDK will require a C compiler which supports the C11 standard, or later.
> > > +  Please note:
> > > +     - C11 is supported from GCC version 5 onwards, and is the default language version in that release
> > > +     - C11 is the default compilation mode in Clang from version 3.6
> > > +
> > >  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
> > >    for returning key match count. It will ease handling of no-match case.
> > >  
> > 
> > This only applies to DPDK internals, right?
> > Application linked with DPDK library won't have this requirement,
> > meaning DPDK public headers won't rely on C99 and C11 features.
> >
> No, AFAIK, that is not correct. Originally I had thought that that would be
> the case - hence the special-case tests for the headers in my previous C99
> patch - but the consensus at the DPDK techboard was that we won't require
> all headers to remain C89 compatible.
> 

this is my recollection as well, everything is being aligned to C11,
which is why we are waiting for 23.11 release before the changes can
come in.

> Originally, I was unsure about this, but now I agree with this position, on
> the basis that since GCC 5, unless you have been explicitly requesting an
> older standard, the compiler is using C11 rules. Therefore, everyone using
> these later GCC versions is already using C11+.

> 
> /Bruce 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] build: announce requirement for C11
  2023-05-03 15:57   ` Bruce Richardson
  2023-05-03 16:07     ` Tyler Retzlaff
@ 2023-05-03 16:51     ` Ferruh Yigit
  1 sibling, 0 replies; 19+ messages in thread
From: Ferruh Yigit @ 2023-05-03 16:51 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, techboard

On 5/3/2023 4:57 PM, Bruce Richardson wrote:
> On Wed, May 03, 2023 at 04:39:14PM +0100, Ferruh Yigit wrote:
>> On 5/3/2023 4:14 PM, Bruce Richardson wrote:
>>> Add a deprecation notice informing users that we will require a C11
>>> compiler from 23.11 release onwards. This requirement was agreed by
>>> technical board to enable use of newer C language features, e.g.
>>> standard atomics. [1]
>>>
>>> [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
>>>
>>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>>> ---
>>>  doc/guides/rel_notes/deprecation.rst | 6 ++++++
>>>  1 file changed, 6 insertions(+)
>>>
>>> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
>>> index dcc1ca1696..9a391d2c49 100644
>>> --- a/doc/guides/rel_notes/deprecation.rst
>>> +++ b/doc/guides/rel_notes/deprecation.rst
>>> @@ -11,6 +11,12 @@ here.
>>>  Deprecation Notices
>>>  -------------------
>>>  
>>> +* C Compiler: From DPDK 23.11 onwards,
>>> +  building DPDK will require a C compiler which supports the C11 standard, or later.
>>> +  Please note:
>>> +     - C11 is supported from GCC version 5 onwards, and is the default language version in that release
>>> +     - C11 is the default compilation mode in Clang from version 3.6
>>> +
>>>  * kvargs: The function ``rte_kvargs_process`` will get a new parameter
>>>    for returning key match count. It will ease handling of no-match case.
>>>  
>>
>> This only applies to DPDK internals, right?
>> Application linked with DPDK library won't have this requirement,
>> meaning DPDK public headers won't rely on C99 and C11 features.
>>
> No, AFAIK, that is not correct. Originally I had thought that that would be
> the case - hence the special-case tests for the headers in my previous C99
> patch - but the consensus at the DPDK techboard was that we won't require
> all headers to remain C89 compatible.
> 

Ah, thanks for clarification. The previous patch made me think we are
keeping headers C89 compatible, I missed the final decision.

> Originally, I was unsure about this, but now I agree with this position, on
> the basis that since GCC 5, unless you have been explicitly requesting an
> older standard, the compiler is using C11 rules. Therefore, everyone using
> these later GCC versions is already using C11+.
> 

Not just compiler version, application enforcing an old standard also
may cause trouble.

But I can see this is simpler from DPDK perspective.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH v2] build: announce requirement for C11
  2023-05-03 15:14 [PATCH] build: announce requirement for C11 Bruce Richardson
  2023-05-03 15:35 ` Tyler Retzlaff
  2023-05-03 15:39 ` Ferruh Yigit
@ 2023-05-03 17:30 ` Bruce Richardson
  2023-05-04  7:50   ` Mattias Rönnblom
  2023-05-03 21:34 ` [PATCH] " Morten Brørup
  2023-05-17 17:34 ` [PATCH v3] " Bruce Richardson
  4 siblings, 1 reply; 19+ messages in thread
From: Bruce Richardson @ 2023-05-03 17:30 UTC (permalink / raw)
  To: dev; +Cc: techboard, Bruce Richardson, Tyler Retzlaff

Add a deprecation notice informing users that we will require a C11
compiler from 23.11 release onwards. This requirement was agreed by
technical board to enable use of newer C language features, e.g.
standard atomics. [1]

[1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>

---

V2:
- add requirement for stdatomics
- fix sphinx formatting
---
 doc/guides/rel_notes/deprecation.rst | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index dcc1ca1696..70c6019d26 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -11,6 +11,15 @@ here.
 Deprecation Notices
 -------------------
 
+* C Compiler: From DPDK 23.11 onwards,
+  building DPDK will require a C compiler which supports the C11 standard,
+  including support for C11 standard atomics.
+
+  Please note:
+
+  * C11 is supported from GCC version 5 onwards, and is the default language version in that release
+  * C11 is the default compilation mode in Clang from version 3.6
+
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-- 
2.39.2


^ permalink raw reply	[flat|nested] 19+ messages in thread

* RE: [PATCH] build: announce requirement for C11
  2023-05-03 15:14 [PATCH] build: announce requirement for C11 Bruce Richardson
                   ` (2 preceding siblings ...)
  2023-05-03 17:30 ` [PATCH v2] " Bruce Richardson
@ 2023-05-03 21:34 ` Morten Brørup
  2023-05-17 17:34 ` [PATCH v3] " Bruce Richardson
  4 siblings, 0 replies; 19+ messages in thread
From: Morten Brørup @ 2023-05-03 21:34 UTC (permalink / raw)
  To: Bruce Richardson, dev, techboard

> From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> Sent: Wednesday, 3 May 2023 17.14
> 
> Add a deprecation notice informing users that we will require a C11
> compiler from 23.11 release onwards. This requirement was agreed by
> technical board to enable use of newer C language features, e.g.
> standard atomics. [1]
> 
> [1]
> http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08
> MB5814.eurprd08.prod.outlook.com/
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Acked-by: Morten Brørup <mb@smartsharesystems.com>


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] build: announce requirement for C11
  2023-05-03 17:30 ` [PATCH v2] " Bruce Richardson
@ 2023-05-04  7:50   ` Mattias Rönnblom
  2023-05-04  8:48     ` Bruce Richardson
  0 siblings, 1 reply; 19+ messages in thread
From: Mattias Rönnblom @ 2023-05-04  7:50 UTC (permalink / raw)
  To: Bruce Richardson, dev; +Cc: techboard, Tyler Retzlaff

On 2023-05-03 19:30, Bruce Richardson wrote:
> Add a deprecation notice informing users that we will require a C11
> compiler from 23.11 release onwards. This requirement was agreed by
> technical board to enable use of newer C language features, e.g.
> standard atomics. [1]
> 
> [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> 
> ---
> 
> V2:
> - add requirement for stdatomics
> - fix sphinx formatting
> ---
>   doc/guides/rel_notes/deprecation.rst | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index dcc1ca1696..70c6019d26 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -11,6 +11,15 @@ here.
>   Deprecation Notices
>   -------------------
>   
> +* C Compiler: From DPDK 23.11 onwards,
> +  building DPDK will require a C compiler which supports the C11 standard,
> +  including support for C11 standard atomics.

The whole of C11, or just the mandatory parts (+atomics)?

> +
> +  Please note:
> +
> +  * C11 is supported from GCC version 5 onwards, and is the default language version in that release
> +  * C11 is the default compilation mode in Clang from version 3.6
> +
>   * kvargs: The function ``rte_kvargs_process`` will get a new parameter
>     for returning key match count. It will ease handling of no-match case.
>   

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] build: announce requirement for C11
  2023-05-04  7:50   ` Mattias Rönnblom
@ 2023-05-04  8:48     ` Bruce Richardson
  2023-05-04 15:24       ` Tyler Retzlaff
  0 siblings, 1 reply; 19+ messages in thread
From: Bruce Richardson @ 2023-05-04  8:48 UTC (permalink / raw)
  To: Mattias Rönnblom; +Cc: dev, techboard, Tyler Retzlaff

On Thu, May 04, 2023 at 09:50:09AM +0200, Mattias Rönnblom wrote:
> On 2023-05-03 19:30, Bruce Richardson wrote:
> > Add a deprecation notice informing users that we will require a C11
> > compiler from 23.11 release onwards. This requirement was agreed by
> > technical board to enable use of newer C language features, e.g.
> > standard atomics. [1]
> > 
> > [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> > 
> > ---
> > 
> > V2:
> > - add requirement for stdatomics
> > - fix sphinx formatting
> > ---
> >   doc/guides/rel_notes/deprecation.rst | 9 +++++++++
> >   1 file changed, 9 insertions(+)
> > 
> > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > index dcc1ca1696..70c6019d26 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -11,6 +11,15 @@ here.
> >   Deprecation Notices
> >   -------------------
> > +* C Compiler: From DPDK 23.11 onwards,
> > +  building DPDK will require a C compiler which supports the C11 standard,
> > +  including support for C11 standard atomics.
> 
> The whole of C11, or just the mandatory parts (+atomics)?
> 
I assume we only need mandatory + atomics, however perhaps someone more
knowledgable about what the optional parts of the spec are, can correct me
on this. Once clarified, I maybe should reword this yet again to call it
out even more specificallly.

/Bruce

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2] build: announce requirement for C11
  2023-05-04  8:48     ` Bruce Richardson
@ 2023-05-04 15:24       ` Tyler Retzlaff
  0 siblings, 0 replies; 19+ messages in thread
From: Tyler Retzlaff @ 2023-05-04 15:24 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Mattias Rönnblom, dev, techboard

On Thu, May 04, 2023 at 09:48:59AM +0100, Bruce Richardson wrote:
> On Thu, May 04, 2023 at 09:50:09AM +0200, Mattias Rönnblom wrote:
> > On 2023-05-03 19:30, Bruce Richardson wrote:
> > > Add a deprecation notice informing users that we will require a C11
> > > compiler from 23.11 release onwards. This requirement was agreed by
> > > technical board to enable use of newer C language features, e.g.
> > > standard atomics. [1]
> > > 
> > > [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> > > 
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > > Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> > > 
> > > ---
> > > 
> > > V2:
> > > - add requirement for stdatomics
> > > - fix sphinx formatting
> > > ---
> > >   doc/guides/rel_notes/deprecation.rst | 9 +++++++++
> > >   1 file changed, 9 insertions(+)
> > > 
> > > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > > index dcc1ca1696..70c6019d26 100644
> > > --- a/doc/guides/rel_notes/deprecation.rst
> > > +++ b/doc/guides/rel_notes/deprecation.rst
> > > @@ -11,6 +11,15 @@ here.
> > >   Deprecation Notices
> > >   -------------------
> > > +* C Compiler: From DPDK 23.11 onwards,
> > > +  building DPDK will require a C compiler which supports the C11 standard,
> > > +  including support for C11 standard atomics.
> > 
> > The whole of C11, or just the mandatory parts (+atomics)?
> > 
> I assume we only need mandatory + atomics, however perhaps someone more
> knowledgable about what the optional parts of the spec are, can correct me
> on this. Once clarified, I maybe should reword this yet again to call it
> out even more specificallly.

mandatory + atomics, no more than that.

so -std=c11 and __STDC_NO_ATOMICS__ is not defined, that is all.

> 
> /Bruce

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH v3] build: announce requirement for C11
  2023-05-03 15:14 [PATCH] build: announce requirement for C11 Bruce Richardson
                   ` (3 preceding siblings ...)
  2023-05-03 21:34 ` [PATCH] " Morten Brørup
@ 2023-05-17 17:34 ` Bruce Richardson
  2023-05-19 12:19   ` Aaron Conole
  2023-07-20  8:22   ` Bruce Richardson
  4 siblings, 2 replies; 19+ messages in thread
From: Bruce Richardson @ 2023-05-17 17:34 UTC (permalink / raw)
  To: dev; +Cc: techboard, Bruce Richardson, Tyler Retzlaff

Add a deprecation notice informing users that we will require a C11
compiler from 23.11 release onwards. This requirement was agreed by
technical board to enable use of newer C language features, e.g.
standard atomics. [1]

[1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>

---

V3:
- add additional detail following discussion on-list

V2:
- add requirement for stdatomics
- fix sphinx formatting
---
 doc/guides/rel_notes/deprecation.rst | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index dcc1ca1696..6955f02248 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -11,6 +11,24 @@ here.
 Deprecation Notices
 -------------------
 
+* C Compiler: From DPDK 23.11 onwards,
+  building DPDK will require a C compiler which supports the C11 standard,
+  including support for C11 standard atomics.
+
+  More specifically, the requirements will be:
+
+  * Support for flag "-std=c11" (or similar)
+  * __STDC_NO_ATOMICS__ is *not defined* when using c11 flag
+
+  Please note:
+
+  * C11, including standard atomics, is supported from GCC version 5 onwards,
+    and is the default language version in that release
+    (Ref: https://gcc.gnu.org/gcc-5/changes.html)
+  * C11 is the default compilation mode in Clang from version 3.6,
+    which also added support for standard atomics
+    (Ref: https://releases.llvm.org/3.6.0/tools/clang/docs/ReleaseNotes.html)
+
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-- 
2.39.2


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v3] build: announce requirement for C11
  2023-05-17 17:34 ` [PATCH v3] " Bruce Richardson
@ 2023-05-19 12:19   ` Aaron Conole
  2023-05-19 20:01     ` Tyler Retzlaff
  2023-07-20  8:22   ` Bruce Richardson
  1 sibling, 1 reply; 19+ messages in thread
From: Aaron Conole @ 2023-05-19 12:19 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: techboard, Bruce Richardson, Tyler Retzlaff, dev

Resending - this time to the correct list.

Bruce Richardson <bruce.richardson@intel.com> writes:
> Add a deprecation notice informing users that we will require a C11
> compiler from 23.11 release onwards. This requirement was agreed by
> technical board to enable use of newer C language features, e.g.
> standard atomics. [1]
>
> [1]
> http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
>
> ---
>
> V3:
> - add additional detail following discussion on-list
>
> V2:
> - add requirement for stdatomics
> - fix sphinx formatting
> ---
>  doc/guides/rel_notes/deprecation.rst | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)

Acked-by: Aaron Conole <aconole@redhat.com>

Per the meeting, I guess we're still waiting on the patches that
introduce the stdatomic calls, right?  At least, I probably missed it
when looking on the patchwork instance.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v3] build: announce requirement for C11
  2023-05-19 12:19   ` Aaron Conole
@ 2023-05-19 20:01     ` Tyler Retzlaff
  0 siblings, 0 replies; 19+ messages in thread
From: Tyler Retzlaff @ 2023-05-19 20:01 UTC (permalink / raw)
  To: Aaron Conole; +Cc: Bruce Richardson, techboard, dev

On Fri, May 19, 2023 at 08:19:01AM -0400, Aaron Conole wrote:
> Resending - this time to the correct list.
> 
> Bruce Richardson <bruce.richardson@intel.com> writes:
> > Add a deprecation notice informing users that we will require a C11
> > compiler from 23.11 release onwards. This requirement was agreed by
> > technical board to enable use of newer C language features, e.g.
> > standard atomics. [1]
> >
> > [1]
> > http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> >
> > ---
> >
> > V3:
> > - add additional detail following discussion on-list
> >
> > V2:
> > - add requirement for stdatomics
> > - fix sphinx formatting
> > ---
> >  doc/guides/rel_notes/deprecation.rst | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> 
> Acked-by: Aaron Conole <aconole@redhat.com>
> 
> Per the meeting, I guess we're still waiting on the patches that
> introduce the stdatomic calls, right?  At least, I probably missed it
> when looking on the patchwork instance.

the following series need merge, they remove some old rte atomics and
normalize the use of gcc builtins to set the tree up to be more easily
converted to stdatomics.

https://patchwork.dpdk.org/project/dpdk/list/?series=27530
https://patchwork.dpdk.org/project/dpdk/list/?series=27552

please review the linked series if you have time, since the impact of
the changes may be broad it would help David and Thomas.

as soon as the above series are merged i will begin submitting the
actual stdatomics series for review.

thanks!

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v3] build: announce requirement for C11
  2023-05-17 17:34 ` [PATCH v3] " Bruce Richardson
  2023-05-19 12:19   ` Aaron Conole
@ 2023-07-20  8:22   ` Bruce Richardson
  2023-07-20 10:56     ` Jerin Jacob
  1 sibling, 1 reply; 19+ messages in thread
From: Bruce Richardson @ 2023-07-20  8:22 UTC (permalink / raw)
  To: dev; +Cc: techboard, Tyler Retzlaff

On Wed, May 17, 2023 at 06:34:00PM +0100, Bruce Richardson wrote:
> Add a deprecation notice informing users that we will require a C11
> compiler from 23.11 release onwards. This requirement was agreed by
> technical board to enable use of newer C language features, e.g.
> standard atomics. [1]
> 
> [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> 
> ---
> 
> V3:
> - add additional detail following discussion on-list
> 
> V2:
> - add requirement for stdatomics
> - fix sphinx formatting
> ---
>  doc/guides/rel_notes/deprecation.rst | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
Ping for additional review/acks and merge.

This deprecation notice really needs to go into 23.07 to allow the C11
requirement to be met in 23.11!

Thanks,
/Bruce

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v3] build: announce requirement for C11
  2023-07-20  8:22   ` Bruce Richardson
@ 2023-07-20 10:56     ` Jerin Jacob
  2023-07-28  9:34       ` Thomas Monjalon
  0 siblings, 1 reply; 19+ messages in thread
From: Jerin Jacob @ 2023-07-20 10:56 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, techboard, Tyler Retzlaff

On Thu, Jul 20, 2023 at 1:52 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> On Wed, May 17, 2023 at 06:34:00PM +0100, Bruce Richardson wrote:
> > Add a deprecation notice informing users that we will require a C11
> > compiler from 23.11 release onwards. This requirement was agreed by
> > technical board to enable use of newer C language features, e.g.
> > standard atomics. [1]
> >
> > [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> >
> > ---
> >
> > V3:
> > - add additional detail following discussion on-list
> >
> > V2:
> > - add requirement for stdatomics
> > - fix sphinx formatting
> > ---
> >  doc/guides/rel_notes/deprecation.rst | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> >
> Ping for additional review/acks and merge.


Acked-by: Jerin Jacob <jerinj@marvell.com>


>
> This deprecation notice really needs to go into 23.07 to allow the C11
> requirement to be met in 23.11!
>
> Thanks,
> /Bruce

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v3] build: announce requirement for C11
  2023-07-20 10:56     ` Jerin Jacob
@ 2023-07-28  9:34       ` Thomas Monjalon
  0 siblings, 0 replies; 19+ messages in thread
From: Thomas Monjalon @ 2023-07-28  9:34 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, Tyler Retzlaff, Jerin Jacob

20/07/2023 12:56, Jerin Jacob:
> On Thu, Jul 20, 2023 at 1:52 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > On Wed, May 17, 2023 at 06:34:00PM +0100, Bruce Richardson wrote:
> > > Add a deprecation notice informing users that we will require a C11
> > > compiler from 23.11 release onwards. This requirement was agreed by
> > > technical board to enable use of newer C language features, e.g.
> > > standard atomics. [1]
> > >
> > > [1] http://inbox.dpdk.org/dev/DBAPR08MB58148CEC3E1454E8848A938998AB9@DBAPR08MB5814.eurprd08.prod.outlook.com/
> > >
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > > Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> > >
> > > ---
> > >
> > > V3:
> > > - add additional detail following discussion on-list
> > >
> > > V2:
> > > - add requirement for stdatomics
> > > - fix sphinx formatting
> > > ---
> > >  doc/guides/rel_notes/deprecation.rst | 18 ++++++++++++++++++
> > >  1 file changed, 18 insertions(+)
> > >
> > Ping for additional review/acks and merge.
> 
> 
> Acked-by: Jerin Jacob <jerinj@marvell.com>

Acked-by: Thomas Monjalon <thomas@monjalon.net>

> > This deprecation notice really needs to go into 23.07 to allow the C11
> > requirement to be met in 23.11!

Applied, thanks.



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2023-07-28  9:34 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-03 15:14 [PATCH] build: announce requirement for C11 Bruce Richardson
2023-05-03 15:35 ` Tyler Retzlaff
2023-05-03 15:37   ` Bruce Richardson
2023-05-03 15:39 ` Ferruh Yigit
2023-05-03 15:45   ` Tyler Retzlaff
2023-05-03 15:57   ` Bruce Richardson
2023-05-03 16:07     ` Tyler Retzlaff
2023-05-03 16:51     ` Ferruh Yigit
2023-05-03 17:30 ` [PATCH v2] " Bruce Richardson
2023-05-04  7:50   ` Mattias Rönnblom
2023-05-04  8:48     ` Bruce Richardson
2023-05-04 15:24       ` Tyler Retzlaff
2023-05-03 21:34 ` [PATCH] " Morten Brørup
2023-05-17 17:34 ` [PATCH v3] " Bruce Richardson
2023-05-19 12:19   ` Aaron Conole
2023-05-19 20:01     ` Tyler Retzlaff
2023-07-20  8:22   ` Bruce Richardson
2023-07-20 10:56     ` Jerin Jacob
2023-07-28  9:34       ` Thomas Monjalon

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).