Message ID | 1588835193-27550-1-git-send-email-phil.yang@arm.com |
---|---|
State | New |
Headers | show |
Series | doc: announce adoption of C11 atomic operations semantics | expand |
On Thu, 7 May 2020 15:06:33 +0800 Phil Yang <phil.yang@arm.com> wrote: > From: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > > As agreed in the DPDK tech board [1], after 20.05 release, patches must > use C11 atomic operations semantics with the help of wrappers. > > [1] http://mails.dpdk.org/archives/dev/2020-April/165143.html > > Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > Reviewed-by: Phil Yang <phil.yang@arm.com> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> The use of Gcc __sync_ primitives should also be replaced with C11 atomic.
<snip> > Subject: Re: [PATCH] doc: announce adoption of C11 atomic operations > semantics > > On Thu, 7 May 2020 15:06:33 +0800 > Phil Yang <phil.yang@arm.com> wrote: > > > From: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > > > > As agreed in the DPDK tech board [1], after 20.05 release, patches > > must use C11 atomic operations semantics with the help of wrappers. > > > > [1] http://mails.dpdk.org/archives/dev/2020-April/165143.html > > > > Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > > Reviewed-by: Phil Yang <phil.yang@arm.com> > > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> > > The use of Gcc __sync_ primitives should also be replaced with C11 atomic. Agree, not sure if this should be added to the deprecation list. But, will add it to checkpatches.sh
<snip> > Subject: [PATCH] doc: announce adoption of C11 atomic operations semantics > > From: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > > As agreed in the DPDK tech board [1], after 20.05 release, patches must use > C11 atomic operations semantics with the help of wrappers. > > [1] http://mails.dpdk.org/archives/dev/2020-April/165143.html As noted in the minutes, this has been approved in the tech-board. Can I get some ACKs for this patch? > > Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > Reviewed-by: Phil Yang <phil.yang@arm.com> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> > --- > doc/guides/rel_notes/deprecation.rst | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/doc/guides/rel_notes/deprecation.rst > b/doc/guides/rel_notes/deprecation.rst > index 20aa745..208708d 100644 > --- a/doc/guides/rel_notes/deprecation.rst > +++ b/doc/guides/rel_notes/deprecation.rst > @@ -113,3 +113,15 @@ Deprecation Notices > Python 2 support will be completely removed in 20.11. > In 20.08, explicit deprecation warnings will be displayed when running > scripts with Python 2. > + > +* rte_atomicNN_xxx: These APIs do not take memory order parameter. This > +does > + not allow for writing optimized code for all the CPU architectures > +supported > + in DPDK. DPDK will adopt C11 atomic operations semantics and provide > +wrappers > + using C11 atomic built-ins. These wrappers must be used for patches > +that > + need to be merged in 20.08 onwards. > + > +* rte_smp_*mb: These APIs provide full barrier functionality. However, > +many > + use cases do not require full barriers. To support such use cases, > +DPDK will > + adopt C11 barrier semantics and provide wrappers using C11 atomic built- > ins. > + These wrappers must be used for patches that need to be merged in > +20.08 > + onwards. > -- > 2.7.4
On Thu, May 7, 2020 at 12:38 PM Phil Yang <phil.yang@arm.com> wrote: > > From: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > > As agreed in the DPDK tech board [1], after 20.05 release, patches must > use C11 atomic operations semantics with the help of wrappers. > > [1] http://mails.dpdk.org/archives/dev/2020-April/165143.html > > Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > Reviewed-by: Phil Yang <phil.yang@arm.com> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Jerin Jacob <jerinj@marvell.com> > --- > doc/guides/rel_notes/deprecation.rst | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst > index 20aa745..208708d 100644 > --- a/doc/guides/rel_notes/deprecation.rst > +++ b/doc/guides/rel_notes/deprecation.rst > @@ -113,3 +113,15 @@ Deprecation Notices > Python 2 support will be completely removed in 20.11. > In 20.08, explicit deprecation warnings will be displayed when running > scripts with Python 2. > + > +* rte_atomicNN_xxx: These APIs do not take memory order parameter. This does > + not allow for writing optimized code for all the CPU architectures supported > + in DPDK. DPDK will adopt C11 atomic operations semantics and provide wrappers > + using C11 atomic built-ins. These wrappers must be used for patches that > + need to be merged in 20.08 onwards. > + > +* rte_smp_*mb: These APIs provide full barrier functionality. However, many > + use cases do not require full barriers. To support such use cases, DPDK will > + adopt C11 barrier semantics and provide wrappers using C11 atomic built-ins. > + These wrappers must be used for patches that need to be merged in 20.08 > + onwards. > -- > 2.7.4 >
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
> > > > As agreed in the DPDK tech board [1], after 20.05 release, patches must > > use C11 atomic operations semantics with the help of wrappers. > > > > [1] http://mails.dpdk.org/archives/dev/2020-April/165143.html > > > > Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > > Reviewed-by: Phil Yang <phil.yang@arm.com> > > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> > > > --- > > doc/guides/rel_notes/deprecation.rst | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst > > index 20aa745..208708d 100644 > > --- a/doc/guides/rel_notes/deprecation.rst > > +++ b/doc/guides/rel_notes/deprecation.rst > > @@ -113,3 +113,15 @@ Deprecation Notices > > Python 2 support will be completely removed in 20.11. > > In 20.08, explicit deprecation warnings will be displayed when running > > scripts with Python 2. > > + > > +* rte_atomicNN_xxx: These APIs do not take memory order parameter. This does > > + not allow for writing optimized code for all the CPU architectures supported > > + in DPDK. DPDK will adopt C11 atomic operations semantics and provide wrappers > > + using C11 atomic built-ins. These wrappers must be used for patches that > > + need to be merged in 20.08 onwards. > > + > > +* rte_smp_*mb: These APIs provide full barrier functionality. However, many > > + use cases do not require full barriers. To support such use cases, DPDK will > > + adopt C11 barrier semantics and provide wrappers using C11 atomic built-ins. > > + These wrappers must be used for patches that need to be merged in 20.08 > > + onwards. > > -- Can we probably add a note that new API supposed to not introduce performance degradation comparing to one we are going to deprecate? Thanks Konstantin
On 5/7/20 12:06 AM, Phil Yang wrote: > From: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > > As agreed in the DPDK tech board [1], after 20.05 release, patches must > use C11 atomic operations semantics with the help of wrappers. > > [1] http://mails.dpdk.org/archives/dev/2020-April/165143.html > > Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> > Reviewed-by: Phil Yang <phil.yang@arm.com> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: David Christensen <drc@linux.vnet.ibm.com>
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 20aa745..208708d 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -113,3 +113,15 @@ Deprecation Notices Python 2 support will be completely removed in 20.11. In 20.08, explicit deprecation warnings will be displayed when running scripts with Python 2. + +* rte_atomicNN_xxx: These APIs do not take memory order parameter. This does + not allow for writing optimized code for all the CPU architectures supported + in DPDK. DPDK will adopt C11 atomic operations semantics and provide wrappers + using C11 atomic built-ins. These wrappers must be used for patches that + need to be merged in 20.08 onwards. + +* rte_smp_*mb: These APIs provide full barrier functionality. However, many + use cases do not require full barriers. To support such use cases, DPDK will + adopt C11 barrier semantics and provide wrappers using C11 atomic built-ins. + These wrappers must be used for patches that need to be merged in 20.08 + onwards.