Thread (32 messages) 32 messages, 4 authors, 2017-09-15

Re: [PATCH 0/8] service: rework for usability

From: Neil Horman <nhorman@tuxdriver.com>
Date: 2017-08-16 13:28:14

On Wed, Aug 16, 2017 at 12:07:11PM +0000, Van Haaren, Harry wrote:
quoted
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Van Haaren, Harry
Sent: Wednesday, August 16, 2017 12:32 PM
To: Neil Horman <nhorman@tuxdriver.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 0/8] service: rework for usability
quoted
From: Neil Horman [mailto:nhorman@tuxdriver.com]
Sent: Wednesday, August 16, 2017 12:16 PM
To: Van Haaren, Harry <redacted>
Cc: dev@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:
quoted
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
Self-reply;

On re-reading, perhaps I understood you wrong; did you mean that I need to add a section to the Release notes that the service core APIs have been updated in 17.11 itself?

That's a very valid point - and I'll fix that in v2, (some other typo fixes to fix too).
I hadn't noted the experimental tag, so you likely don't need a deprecation
warning, but yes, a release note to indicate the change to the API in 17.11
would be good.

Best
NEil
-Harry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help