[dpdk-dev] [PATCH 0/8] service: rework for usability

Van Haaren, Harry harry.van.haaren at intel.com
Wed Aug 16 13:31:53 CEST 2017


> From: Neil Horman [mailto:nhorman at tuxdriver.com]
> Sent: Wednesday, August 16, 2017 12:16 PM
> To: Van Haaren, Harry <harry.van.haaren at intel.com>
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 0/8] service: rework for usability
> 
> On Tue, Aug 15, 2017 at 01:32:32PM +0100, Harry van Haaren wrote:
> > This patchset reworks the service apis to be more user
> > friendly. In particular, the various rte_service_* functions
> > now take an integer id parameter instead of a service pointer.
> > This both reduces the API surface (no service_get_from_id()),
> > and allows easier debugging (gdb function calls with integer args),
> > and various other benefits (better encapsulation, less pointers :)
> >
> > Finally, some APIs are changed or renamed for consistency and
> > clarity of what they do. See commit messages for details.
> > Note that the service library is merged as EXPERIMENTAL in
> > the 17.08 release, allowing API improvements for 17.11 release.
> >
> > I hope to merge this patchset early in the 17.11 timeframe,
> > so please review ASAP to allow time for other DPDK components
> > to utilize services in this release :)
> >
> > Feedback and input welcome, -Harry
> >
> You need to add a deprecation note in the rel notes area so that people are
> aware of the upcomming ABI changes

Service cores was merged into 17.08 with the EXPERIMENTAL tag, which indicates that the API and ABI are not stable. The version map file has the service cores functions added in the Experimental staging area, instead of in the 17.08 stable ABI[1]. To make this very visible to the users, the documentation has large "Warning: Experimental, this API may change without prior notice" marks[2], and the MAINTAINERS file[3] has the Experimental tag.

As far as I am aware, those are all the requirements to be able to remove / change / update / fix APIs. It was discussed on #IRC that it would be better to merge service-cores as experimental to allow faster iteration, and to get improvements out the door, and I'm still of that opinion.

Given the above, I don't see any issue with merging service-core changes into the 17.11 release.

[1] http://dpdk.org/browse/dpdk/tree/lib/librte_eal/linuxapp/eal/rte_eal_version.map#n212
[2] http://dpdk.org/doc/api/rte__service_8h.html#aea7fce2a101bf2c00194dffb30bfc4ea
[3] http://dpdk.org/browse/dpdk/tree/MAINTAINERS#n138



More information about the dev mailing list