[0/3] new software event timer adapter

Message ID 1543534514-183766-1-git-send-email-erik.g.carrillo@intel.com (mailing list archive)


Carrillo, Erik G Nov. 29, 2018, 11:35 p.m. UTC
  This patch series introduces a new version of the event timer 
adapter software PMD [1].  In the original design, timer event producer
lcores in the primary and secondary processes enqueued event timers
into a ring, and a service core in the primary process dequeued them
and processed them further.  To improve performance, this version does
away with the ring and lets the lcores in both primary and secondary
processes insert timers into directly into the timer skiplist data
structures; the service core directly accesses the lists as well. 
To achieve this, however, modifications to the timer library [2] are
required to enable the timer skiplists to be created and accessed in
shared memory.  New APIs are introduced in the timer library to enable
selecting from multiple instances of the timer skiplists. Instances of
the event timer adapter, as well as the original APIs of the timer
library, can then each access distinct timer lists.

Future versions of this series will hopefully improve the names
used for the data structures and APIs in the timer library.

This series depends on the following patch:

[1] https://doc.dpdk.org/guides/prog_guide/event_timer_adapter.html
[2] https://doc.dpdk.org/guides/prog_guide/timer_lib.html

Erik Gabriel Carrillo (3):
  timer: allow timer management in shared memory
  timer: add function to stop all timers in a list
  eventdev: add new software event timer adapter

 lib/librte_eventdev/rte_event_timer_adapter.c | 687 +++++++++++---------------
 lib/librte_timer/Makefile                     |   1 +
 lib/librte_timer/rte_timer.c                  | 579 ++++++++++++++++++----
 lib/librte_timer/rte_timer.h                  | 200 +++++++-
 lib/librte_timer/rte_timer_version.map        |  22 +-
 5 files changed, 972 insertions(+), 517 deletions(-)