[dpdk-dev] [RFC PATCH v3 0/1] eventtimer: introduce event timer adapter

Erik Gabriel Carrillo erik.g.carrillo at intel.com
Mon Nov 20 23:35:32 CET 2017


The following RFC patch contains a reworked version of the event timer adapter
logic that would be common to both the software and hardware implementations.
It contains an allocation scheme that separates the adapter state into two
parts:  one part that is local to a process, and another that is shared between
processes.  The process-local part contains fast-path function pointers valid
only in that process, and the shared part contains data that can be used in
both processes.  It also lays out the mechanism by which eventdev PMDs can
plug their own implementations into the API if they wish to:  if a PMD wishes
to provide an implementation for the event timer adapter API, it can define and
return an ops structure which the API will call through.  Otherwise, a PMD
can return a null ops structure to allow the API to fall back on a default
software implementation that will be added in an upcoming version of this
patch.

checkpatches.sh reports a few warnings for "macros with flow control", but I
have left them in since they seem to be in common usage in DPDK.  One other
checkpatch warning is caused by use of an extern in a .c file, but I left that
in since it was useful for splitting the software implementation into its own
file.

Thanks,
Gabriel

Erik Gabriel Carrillo (1):
  eventtimer: introduce event timer adapter

 doc/api/doxy-api-index.md                          |   1 +
 drivers/event/sw/sw_evdev.c                        |  16 +
 lib/librte_eventdev/Makefile                       |   4 +
 lib/librte_eventdev/rte_event_timer_adapter.c      | 428 +++++++++++++++++++++
 lib/librte_eventdev/rte_event_timer_adapter.h      | 427 ++++++++++++++++++++
 .../rte_event_timer_adapter_driver.h               | 159 ++++++++
 lib/librte_eventdev/rte_eventdev.h                 |   3 +
 lib/librte_eventdev/rte_eventdev_pmd.h             |   7 +
 lib/librte_eventdev/rte_eventdev_version.map       |  15 +-
 lib/librte_eventdev/sw_event_timer_adapter.c       | 123 ++++++
 test/test/Makefile                                 |   1 +
 test/test/test_event_timer_adapter.c               | 249 ++++++++++++
 12 files changed, 1432 insertions(+), 1 deletion(-)
 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_driver.h
 create mode 100644 lib/librte_eventdev/sw_event_timer_adapter.c
 create mode 100644 test/test/test_event_timer_adapter.c

-- 
2.6.4



More information about the dev mailing list