This set of RFC patches contains a reworked version of the "front-end" of the event timer adapter, i.e., the API and common logic.
This patch set produces the following checkpatch warning: "macro with flow control". I have left the macros in since such usage seems common in DPDK. v5 - Addressed comments on previous version from Pavan: - renamed rte_event_timer_adapter_driver.h to rte_event_timer_adapter_pmd.h - moved contents of sw_event_timer_adapter.c into rte_event_timer_adapter.c - added flags parameter to timer_adapter_caps_get() call - added DEBUG config variable to conditionally compile run-time checks on datapath - fixed license text and file description - Also added a config variable to enable/disable compilation of event timer adapter - feedback on whether this is desirable is appreciated v4 - Split changes into multiple patches for easier review v3 - Reworked allocation and ops organization in common code based on feedback received from Jerin and Pavan. This will allow fast-path function pointers to be dereferenced with one level of indirection with pointers valid in primary and secondary processes. - Moved default software implementation from sw_evdev directory to eventdev library directory, which will allow it to be used by any eventdev PMD as an alternative to providing its own definitions. - Reverted occurrences of id back to pointer to adapter struct in library API - Added rte_event_timer_adapter_lookup() function back in v2 - Added ops structure and stubbed out plugin for SW impl - Added unit test stubs - Replaced occurrences of "wheel" in API with "adapter" - Replaced occurrences of pointer to struct rte_event_timer_adapter with ids - Removed rte_event_timer_adapter_lookup() function - Replaced RTE_EVENT_TIMER_SUCCESS_{ARM,CANCEL} states with RTE_EVENT_TIMER_ARMED Erik Gabriel Carrillo (4): eventtimer: introduce event timer adapter eventtimer: add common code eventtimer: add config variable for adapter eventtimer: add default software implementation stub test: add event timer adapter auto-test config/common_base | 2 + doc/api/doxy-api-index.md | 1 + drivers/event/sw/sw_evdev.c | 22 + lib/librte_eventdev/Makefile | 3 + lib/librte_eventdev/rte_event_timer_adapter.c | 514 +++++++++++++++++++++ lib/librte_eventdev/rte_event_timer_adapter.h | 518 ++++++++++++++++++++++ lib/librte_eventdev/rte_event_timer_adapter_pmd.h | 159 +++++++ lib/librte_eventdev/rte_eventdev.h | 7 +- lib/librte_eventdev/rte_eventdev_pmd.h | 41 ++ lib/librte_eventdev/rte_eventdev_version.map | 15 +- test/test/Makefile | 1 + test/test/test_event_timer_adapter.c | 249 +++++++++++ 12 files changed, 1529 insertions(+), 3 deletions(-) create mode 100644 lib/librte_eventdev/rte_event_timer_adapter.c create mode 100644 lib/librte_eventdev/rte_event_timer_adapter.h create mode 100644 lib/librte_eventdev/rte_event_timer_adapter_pmd.h create mode 100644 test/test/test_event_timer_adapter.c -- 2.6.4