[dpdk-dev] [PATCH v2 00/15] service: API improvements and updates
Harry van Haaren
harry.van.haaren at intel.com
Mon Aug 21 14:58:01 CEST 2017
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
v2:
- Rename API functions from service_register to service_component_register
to clearly show which of the APIs apply to services and which apply to the
service components.
- There are 4 "fixes" patches, each one targetting a specific issue that was
observered or discovered since the 17.08 release. See commit messages for
details about the issue, and the resolution.
- Added "component runstate" concept, to allow components indicate if they are
ready to have their service callback invoked.
- Improve documentation, and update doxygen comments to make the usage of the
service component APIs clearer.
Harry van Haaren (15):
service: rework probe and get name to use ids
service: rework lcore to service map functions
service: rework register to return service id
service: rework service start stop to runstate
service: rework service stats functions
service: rework unregister api to use integers
service: rework get by name function to use id
service: fix and refactor atomic service accesses
service: fix loops to always scan all services
service: fix return values of functions to 0 or 1
service: fix lcore in wait state in lcore add
service: reset core call stats on dump
service: add component runstate
service: clarify documentation for register
docs: add notes on service cores API updates
doc/guides/rel_notes/release_17_11.rst | 20 ++
drivers/event/sw/sw_evdev.c | 7 +-
drivers/event/sw/sw_evdev.h | 1 +
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 16 +-
lib/librte_eal/common/include/rte_service.h | 144 +++++-------
.../common/include/rte_service_component.h | 36 ++-
lib/librte_eal/common/rte_service.c | 256 +++++++++++----------
lib/librte_eal/linuxapp/eal/rte_eal_version.map | 16 +-
test/test/test_service_cores.c | 155 +++++++------
9 files changed, 349 insertions(+), 302 deletions(-)
--
2.7.4
More information about the dev
mailing list