This is the v6 patchset of the software eventdev PMD. Changes include the following, see patch for context and details;
- Remove enq/deq checks already performed by eventdev layer (Jerin) - Fix error printf() to use SW_LOG_ERR instead (Jerin) - Add rte_smp_wmb() to ensure writes completed before access (Jerin) - Remove (void *) casts that are not required (Jerin) - Set rte_errno as appropriate if port link not established (Jerin) - Added check for secondary process (Jerin) - Added unlikely() to error checking branches (Jerin) - Removed event dequeue with NULL ptr check (Jerin) - Fix handling of event priority normalization - Removed printf() using SW_LOG_ERR instead (Jerin) - Added rte_smp_wmb() to start() and stop() (Jerin) - Improved error return values from start() (Jerin) - Fix QOS to QoS typo (Jerin) - Add to section on dequeue timeout to limitations (Jerin) - Fix return value to "return ret" instead of -ENOTSUP (Jerin) - Fix value handling for sched quanta, credits and NUMA node (Jerin) - Add check for per dequeue timeout config, return -ENOTSUP if so (Jerin) A new patch was added 01/21 to improve the eventdev API documentation regarding the return values for the start API. There are 7 checkpatch warnings, - 2 complex macros (cannot be resolved) - 4 long lines (resolving makes code more obfuscated) - 1 unecessary else (false positive) Cheers, -Harry Bruce Richardson (12): 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 Harry van Haaren (9): eventdev: improve API docs for start function test/eventdev: pass timeout ticks unsupported test/eventdev: add SW test infrastructure test/eventdev: add basic SW tests test/eventdev: add SW tests for load balancing test/eventdev: add SW xstats tests test/eventdev: add SW deadlock tests doc: add event device and software eventdev maintainers: add eventdev section and claim SW PMD MAINTAINERS | 9 + config/common_base | 6 + doc/guides/eventdevs/index.rst | 40 + doc/guides/eventdevs/sw.rst | 157 ++ doc/guides/index.rst | 1 + 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 | 828 +++++++ drivers/event/sw/sw_evdev.h | 318 +++ drivers/event/sw/sw_evdev_scheduler.c | 601 +++++ drivers/event/sw/sw_evdev_worker.c | 183 ++ drivers/event/sw/sw_evdev_xstats.c | 674 ++++++ lib/librte_eventdev/rte_eventdev.h | 3 +- mk/rte.app.mk | 1 + test/test/Makefile | 5 +- test/test/autotest_data.py | 26 + test/test/test_eventdev.c | 5 +- test/test/test_eventdev_sw.c | 3188 +++++++++++++++++++++++++ 21 files changed, 6475 insertions(+), 4 deletions(-) create mode 100644 doc/guides/eventdevs/index.rst create mode 100644 doc/guides/eventdevs/sw.rst 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 create mode 100644 test/test/test_eventdev_sw.c -- 2.7.4