[dpdk-dev] [PATCH v3 00/17] next-eventdev: event/sw software eventdev
Harry van Haaren
harry.van.haaren at intel.com
Fri Feb 17 15:53:55 CET 2017
The following patchset adds software eventdev implementation
to the next-eventdev tree.
This implementation is based on the previous software eventdev
v2 patchset, now with comments addressed:
1) Fixed queue configure in single link, returning -EDQOUT (Jerin)
2) SW_SCHED_TYPE_DIRECT now in SW_ namespace (Jerin)
3) SW_PMD_NAME now in SW_ namespace (Jerin)
4) Replaced printfs with SW_LOG() to report errors (Jerin)
5) Update version map to 17.05 (Jerin)
6) Fixed back-to-back tests of event/sw (Jerin)
7) checkpatch issues in v2 of xstats() (Jerin)
8) Updated link() and unlink() functions to accept dev* parameter
9) Fixed bug in load-balanced port credits returning (Gage)
a) Fixed segfault if dump() called before fully configured (Vipin)
b) Removed extern sched_quanta, now tracked internally in state
c) Added compiler barriers to qe_ring datastructures
d) vdev uninit() as implemented in next-eventdev is now supported (Jerin)
c) xstats get() API has "mode" to select dev, port or queue stats (Jerin)
e) xstats reset() added (Jerin)
f) Renamed test_sw_eventdev.c to test_eventdev_sw.c (Jerin)
The first three patches in the series make new changes to the eventdev
API and tests that were not present in the v2 patchset. This was required
to pass the unit tests and provide correct behaviour of eventdev layer
checks of the event/sw implementation:
0) Fix timeout ticks test to return -ENOTSUP if dev doesn't support it
1) Increase the enqueue depth in dev_config and port_conf
2) Create dummy Links before start stop test (details in commit msg)
Next then the software implementation is added, and finally
more tests are added for the sw eventdev implementation.
Git log is clean, while checkpatch issues:
2 Errors on Complex Macro (which I beleive cannot be fixed)
4 Warnings in the scheduler logic, which reduce readability when fixed.
This patchset contains the work of multiple developers,
please see signoffs on each patch.
Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>
Bruce Richardson (14):
eventdev: add APIs for extended stats
event/sw: add new software-only eventdev driver
event/sw: add device capabilities function
event/sw: add configure function
event/sw: add fns to return default port/queue config
event/sw: add support for event queues
event/sw: add support for event ports
event/sw: add support for linking queues to ports
event/sw: add worker core functions
event/sw: add scheduling logic
event/sw: add start stop and close functions
event/sw: add dump function for easier debugging
event/sw: add xstats support
app/test: add unit tests for SW eventdev driver
Harry van Haaren (3):
eventdev: fix API docs and test for timeout ticks
eventdev: increase size of enq deq conf variables
app/test: eventdev link all queues before start
app/test/Makefile | 5 +-
app/test/autotest_data.py | 26 +
app/test/test_eventdev.c | 20 +-
app/test/test_eventdev_sw.c | 2249 +++++++++++++++++++++++++
config/common_base | 5 +
drivers/event/Makefile | 1 +
drivers/event/sw/Makefile | 69 +
drivers/event/sw/event_ring.h | 185 ++
drivers/event/sw/iq_ring.h | 176 ++
drivers/event/sw/rte_pmd_evdev_sw_version.map | 3 +
drivers/event/sw/sw_evdev.c | 793 +++++++++
drivers/event/sw/sw_evdev.h | 306 ++++
drivers/event/sw/sw_evdev_scheduler.c | 602 +++++++
drivers/event/sw/sw_evdev_worker.c | 188 +++
drivers/event/sw/sw_evdev_xstats.c | 511 ++++++
lib/librte_eventdev/rte_eventdev.c | 78 +
lib/librte_eventdev/rte_eventdev.h | 130 +-
lib/librte_eventdev/rte_eventdev_pmd.h | 70 +
lib/librte_eventdev/rte_eventdev_version.map | 4 +
mk/rte.app.mk | 1 +
20 files changed, 5415 insertions(+), 7 deletions(-)
create mode 100644 app/test/test_eventdev_sw.c
create mode 100644 drivers/event/sw/Makefile
create mode 100644 drivers/event/sw/event_ring.h
create mode 100644 drivers/event/sw/iq_ring.h
create mode 100644 drivers/event/sw/rte_pmd_evdev_sw_version.map
create mode 100644 drivers/event/sw/sw_evdev.c
create mode 100644 drivers/event/sw/sw_evdev.h
create mode 100644 drivers/event/sw/sw_evdev_scheduler.c
create mode 100644 drivers/event/sw/sw_evdev_worker.c
create mode 100644 drivers/event/sw/sw_evdev_xstats.c
--
2.7.4
More information about the dev
mailing list