[dpdk-dev] [RFC PATCH v5 0/5] eventtimer: introduce event timer adapter

Erik Gabriel Carrillo erik.g.carrillo at intel.com
Fri Dec 1 21:00:53 CET 2017


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



More information about the dev mailing list