This patch 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 lcores in both primary and secondary processes insert timers directly into timer skiplist data structures; the service core directly accesses the lists as well, when looking for timers that have expired. (This behavior requires the patch to the timer library that is referenced below.)
Depends on: https://patches.dpdk.org/project/dpdk/list/?series=2767 [1] https://doc.dpdk.org/guides/prog_guide/event_timer_adapter.html Changes in v4: - Addressed the following comments from Mattias Ronnblom: - remove unnecessary header include - add missing read barrier in timer cancel function Changes in v3: - Addressed comments from Mattias Ronnblom: - remove unnecessary header include - remove unnecessary cast in mempool_put() call - update alignment of elements of array to avoid false sharing issue Changes in v2: - split this change out into its own patch series Erik Gabriel Carrillo (1): eventdev: add new software event timer adapter lib/librte_eventdev/rte_event_timer_adapter.c | 689 +++++++++++--------------- 1 file changed, 277 insertions(+), 412 deletions(-) -- 2.6.4