From: Harry van Haaren <harry.van.haaren@intel.com>
To: dev@dpdk.org
Cc: Harry van Haaren <harry.van.haaren@intel.com>
Subject: [dpdk-dev] [PATCH v2 00/15] service: API improvements and updates
Date: Mon, 21 Aug 2017 13:58:01 +0100 [thread overview]
Message-ID: <1503320296-51122-1-git-send-email-harry.van.haaren@intel.com> (raw)
In-Reply-To: <1502800360-15782-1-git-send-email-harry.van.haaren@intel.com>
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
next prev parent reply other threads:[~2017-08-21 12:58 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-15 12:32 [dpdk-dev] [PATCH 0/8] service: rework for usability Harry van Haaren
2017-08-15 12:32 ` [dpdk-dev] [PATCH 1/8] service: rework probe and get name to use ids Harry van Haaren
2017-08-15 12:32 ` [dpdk-dev] [PATCH 2/8] service: rework lcore to service map functions Harry van Haaren
2017-08-15 12:32 ` [dpdk-dev] [PATCH 3/8] service: rework register to return service id Harry van Haaren
2017-08-15 12:32 ` [dpdk-dev] [PATCH 4/8] service: rework service start stop to runstate Harry van Haaren
2017-08-15 12:32 ` [dpdk-dev] [PATCH 5/8] service: rework service stats functions Harry van Haaren
2017-08-15 12:32 ` [dpdk-dev] [PATCH 6/8] service: rework unregister api to use integers Harry van Haaren
2017-08-15 12:32 ` [dpdk-dev] [PATCH 7/8] service: rework get by name function to use id Harry van Haaren
2017-08-15 12:32 ` [dpdk-dev] [PATCH 8/8] service: clarify documentation for register Harry van Haaren
2017-08-16 11:16 ` [dpdk-dev] [PATCH 0/8] service: rework for usability Neil Horman
2017-08-16 11:31 ` Van Haaren, Harry
2017-08-16 12:07 ` Van Haaren, Harry
2017-08-16 13:27 ` Neil Horman
2017-08-21 12:58 ` Harry van Haaren [this message]
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 01/15] service: rework probe and get name to use ids Harry van Haaren
2017-08-30 19:25 ` Pavan Nikhilesh Bhagavatula
2017-09-04 14:32 ` Pavan Nikhilesh Bhagavatula
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 02/15] service: rework lcore to service map functions Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 03/15] service: rework register to return service id Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 04/15] service: rework service start stop to runstate Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 05/15] service: rework service stats functions Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 06/15] service: rework unregister api to use integers Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 07/15] service: rework get by name function to use id Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 08/15] service: fix and refactor atomic service accesses Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 09/15] service: fix loops to always scan all services Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 10/15] service: fix return values of functions to 0 or 1 Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 11/15] service: fix lcore in wait state in lcore add Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 12/15] service: reset core call stats on dump Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 13/15] service: add component runstate Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 14/15] service: clarify documentation for register Harry van Haaren
2017-08-21 12:58 ` [dpdk-dev] [PATCH v2 15/15] docs: add notes on service cores API updates Harry van Haaren
2017-09-15 11:51 ` [dpdk-dev] [PATCH v2 00/15] service: API improvements and updates Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1503320296-51122-1-git-send-email-harry.van.haaren@intel.com \
--to=harry.van.haaren@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).