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 usabilityquoted
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, -HarryYou need to add a deprecation note in the rel notes area so that people are aware of the upcomming ABI changesService 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#n138Self-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