[dpdk-dev] [PATCH v3 00/12] event/octeontx: add event timer adapter driver

Pavan Nikhilesh pbhagavatula at caviumnetworks.com
Tue Apr 3 17:05:02 CEST 2018


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/

This patch set depends on:
1. http://dpdk.org/dev/patchwork/bundle/pbhagavatula/event_timerdev_v9
2. http://dpdk.org/dev/patchwork/patch/35216/
3. http://dpdk.org/dev/patchwork/patch/36089/

v3 Changes:
- change datapath function return from int to uint16_t.
- Add missing state checks while arm/cancel.
- add stats.

v2 Changes:
- Move common code changes to separate patches.
- Reduce ifdef clutter.
- fix improper return value (erik).
- remove redundent ops assignment (erik).
- update octeontx documentation.


Pavan Nikhilesh (12):
  mempool/octeontx: probe timvf PCIe devices
  usertools: add Cavium TIM as an event device
  event/octeontx: add support to create and free timer adapter
  event/octeontx: add support to start and stop timer device
  event/octeontx: add event timer stats get and reset
  event/octeontx: add multiproducer timer arm and cancel
  event/octeontx: add single producer timer arm variant
  event/octeontx: add burst mode for timer arm
  event/octeontx: optimize timer adapter resolution parameters
  event/octeontx: add option to use fpavf as chunk pool
  doc: update eventdev OcteonTx documentation
  maintainers: claim responsibility for octeontx timvf

 MAINTAINERS                                        |   4 +
 doc/guides/eventdevs/octeontx.rst                  |   9 +
 drivers/event/octeontx/Makefile                    |   7 +
 drivers/event/octeontx/meson.build                 |   4 +-
 drivers/event/octeontx/ssovf_evdev.c               |   3 +
 drivers/event/octeontx/timvf_evdev.c               | 408 +++++++++++++++++++
 drivers/event/octeontx/timvf_evdev.h               | 215 ++++++++++
 drivers/event/octeontx/timvf_worker.c              | 161 ++++++++
 drivers/event/octeontx/timvf_worker.h              | 445 +++++++++++++++++++++
 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 +
 usertools/dpdk-devbind.py                          |   4 +-
 15 files changed, 1415 insertions(+), 2 deletions(-)
 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.3



More information about the dev mailing list