The event timer adapter[1] provides APIs to configure an event timer device that allows an application to arm timers which on expiry push events to an event device such as OcteonTx SSO. The OcteonTx TIM is a co-processor that can be configured as an event timer adapter which can be used by an application to manage event timers.
The TIM co-processor processes the event timers registered and pushes expired event timers to SSO based on the event queue, schedule type, flow id etc. provided as rte_event while arming the event timer. It maintains event timers with high precision and time granularity of 1us (microsecond). [1] http://dpdk.org/dev/patchwork/patch/33525/ Pavan Nikhilesh (9): eal: add API to align variable to previous power of 2 mempool/octeontx: probe timvf PCIe devices event/octeontx: add support to create and free timer adapter event/octeontx: add support to start and stop timer device event/octeontx: add support for arm and cancel event/octeontx: add single producer timer arm variant event/octeontx: optimize timer adapter resolution parameters event/octeontx: add option to use fpavf as chunk pool event/octeontx: add timer adapter SW traversal routine config/common_base | 2 + drivers/event/octeontx/Makefile | 6 + drivers/event/octeontx/meson.build | 4 +- drivers/event/octeontx/ssovf_evdev.c | 3 + drivers/event/octeontx/timvf_evdev.c | 393 ++++++++++++++ drivers/event/octeontx/timvf_evdev.h | 208 +++++++ drivers/event/octeontx/timvf_worker.c | 118 ++++ drivers/event/octeontx/timvf_worker.h | 601 +++++++++++++++++++++ drivers/mempool/octeontx/Makefile | 1 + drivers/mempool/octeontx/meson.build | 1 + drivers/mempool/octeontx/octeontx_mbox.h | 7 + drivers/mempool/octeontx/octeontx_timvf.c | 145 +++++ .../octeontx/rte_mempool_octeontx_version.map | 3 + lib/librte_eal/common/include/rte_common.h | 36 ++ usertools/dpdk-devbind.py | 8 + 15 files changed, 1535 insertions(+), 1 deletion(-) create mode 100644 drivers/event/octeontx/timvf_evdev.c create mode 100644 drivers/event/octeontx/timvf_evdev.h create mode 100644 drivers/event/octeontx/timvf_worker.c create mode 100644 drivers/event/octeontx/timvf_worker.h create mode 100644 drivers/mempool/octeontx/octeontx_timvf.c -- 2.16.1