[dpdk-dev] [PATCH v4] doc: announce ring API change

Eads, Gage gage.eads at intel.com
Fri May 10 18:28:16 CEST 2019


> -----Original Message-----
> From: Ola Liljedahl [mailto:Ola.Liljedahl at arm.com]
> Sent: Friday, May 10, 2019 10:19 AM
> To: stephen at networkplumber.org; Eads, Gage <gage.eads at intel.com>
> Cc: arybchenko at solarflare.com; nd <nd at arm.com>; Ananyev, Konstantin
> <konstantin.ananyev at intel.com>; thomas at monjalon.net; Richardson,
> Bruce <bruce.richardson at intel.com>; dev at dpdk.org;
> olivier.matz at 6wind.com; Honnappa Nagarahalli
> <Honnappa.Nagarahalli at arm.com>; Gavin Hu (Arm Technology China)
> <Gavin.Hu at arm.com>
> Subject: Re: [dpdk-dev] [PATCH v4] doc: announce ring API change
> 
> On Fri, 2019-05-10 at 07:58 -0700, Stephen Hemminger wrote:
> > On Fri, 10 May 2019 14:53:56 +0000
> > "Eads, Gage" <gage.eads at intel.com> wrote:
> >
> > 01/02/2019 15:36, Gage Eads:
> > In order to support the non-blocking ring[1], an API change
> > (additional argument to rte_ring_get_memsize()) is required in
> > librte_ring. This commit updates the deprecation notice to pave the
> > way for its inclusion in 19.08.
> >
> > [1] http://mails.dpdk.org/archives/dev/2019-January/124162.html
> >
> > Signed-off-by: Gage Eads <gage.eads at intel.com>
> >
> > There is still no agreement on this change?
> >
> >
> > Still none. I was hoping this discussion (
> > http://mails.dpdk.org/archives/dev/2019-April/129229.html) would lead
> > to some clear direction, but at this point the effort is stalled.
> >
> > The fundamental tradeoff is between non-blocking rings and ABI breakage.
> 
> It is also possible to do "non-blocking" (but not lock-free) rings with the
> original element size (a pointer per ring slot) as implemented here:
> https://github.com/ARM-
> software/progress64/blob/master/src/p64_ringbuf.c
> Some extra (head&tail) metadata is required but I think there is space for
> that in the rte_ring structure.
> 
> > Why not have a new ring type for non-blocking rings since non-blocking
> > rings are not necessary for all use cases.
> 
> I proposed a new library ("rte_lfring") with lock-free rings here:
> https://mails.dpdk.org/archives/dev/2019-January/124242.html
> The lock-free design should be the same as in Gage's patch.
> 
> rte_lfring could of course be part of the rte_ring library.
> 

Just read through the API/ABI stability discussion (https://mails.dpdk.org/archives/dev/2019-April/128969.html). I'll drop my patchset and work on supporting this lfring API instead.

Thanks,
Gage

> 
> --
> Ola Liljedahl, Networking System Architect, Arm Phone +46706866373, Skype
> ola.liljedahl


More information about the dev mailing list