[dpdk-dev] [PATCH 00/39] Cavium OCTEONTX ssovf eventdev PMD

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Mar 3 18:19:50 CET 2017

The following patch set adds Cavium OCTEONTX HW based eventdev
implementation to the next-eventdev tree.

Introduction to OCTEON-TX ARM processors can be found
here: http://www.cavium.com/OCTEON-TX_ARM_Processors.html

The first two patches in the series make changes to the eventdev
API and common test.

The Third patch in the series is to fix intra drivers dependencies
for the shared build(Posted by Shreyansh)

4-21 patches implement eventdev API with OCTEONTX SSOVF HW.

22-38 patches implement OCTEONTX specific test cases to validate
the driver. The test cases are usecase driven and it does not really depend on
OCTEONTX SSOVF PMD nor it doesn't invoke any PMD specific APIs.
I have created this unit test cases to validate the different use case with
eventdev.Probably, We can coverage all the PMD specific test cases under
common tests as a next step.

Performance and latency test case are missing in this patch set,
probably we need to add those in next step as the common test case.

Finally, The 39th patch adds the SSOVF documentation for build and
run instructions on OCTEONTX board.I have added only octeontx specific documentation.
We need to add the top-level overview page like(ethdev and cryptodev subsystem).
I think it will be only possible at least two drivers have documentation and
once we come up with the feature lists like ethdev and crypto devs.
I have enumerated a few of them in OCTEONTX PMD documentation.Looking forward
to seeing other vendor documentation to converge and create the overview page.

The patchset is Git log is clean, while check patch issues:
1) 1 Error on Complex Macro (which I believe it cannot be fixed) # Patch 17
2) 1 Error on spacing while using gcc inline assembly(it is false positive) # patch 17

Jerin Jacob (38):
  eventdev: update PMD dequeue timeout conversion callback
  app/test: fix eventdev reconfigure test
  event/octeontx: add build and log infrastructure
  event/octeontx: probe ssovf pcie devices
  event/octeontx: probe ssowvf pcie devices
  event/octeontx: add vdev interface functions
  event/octeontx: add mailbox support
  event/octeontx: add octeontx eventdev driver
  event/octeontx: add device capabilities function
  event/octeontx: add configure function
  event/octeontx: add support for event queues
  event/octeontx: add support for event ports
  event/octeontx: add support for linking queues to ports
  event/octeontx: add support dequeue timeout tick conversion
  event/octeontx: add dump function for easier debugging
  event/octeontx: add SSO HW device operations
  event/octeontx: add support worker enqueue function
  event/octeontx: add support worker dequeue function
  event/octeontx: add start function
  event/octeontx: add stop and close function
  app/test: octeontx eventdev unit test infrastructure
  app/test: octeontx unit test case setup and teardown
  app/test: octeontx unit test case helper functions
  app/test: octeontx simple event enqueue and dequeue test
  app/test: octeontx multi queue enqueue and dequeue test
  app/test: octeontx eventdev priority test
  app/test: add infrastructure for multicore octeontx tests
  app/test: octeontx multi queue and multi core/port tests
  app/test: octeontx single link establishment test
  app/test: octeontx multi link establishment test
  app/test: octeontx flow based two stage sched type test
  app/test: octeontx queue based two stage sched type test
  app/test: octeontx flow based maximum stage pipeline
  app/test: octeontx queue based maximum stage pipeline
  app/test: octeontx queue and flow based max stage pipeline
  app/test: octeontx producer-consumer based order test
  app/test: add remaining tests based on existing helpers
  doc: add OCTEONTX ssovf details

Shreyansh Jain (1):
  mk: handle intra drivers dependencies for shared build

 MAINTAINERS                                        |    9 +
 app/test/Makefile                                  |    5 +-
 app/test/test_eventdev.c                           |    4 +-
 app/test/test_eventdev_octeontx.c                  | 1398 ++++++++++++++++++++
 config/common_base                                 |    6 +
 config/defconfig_arm64-thunderx-linuxapp-gcc       |    6 +
 doc/guides/eventdevs/index.rst                     |   38 +
 doc/guides/eventdevs/octeontx.rst                  |  131 ++
 doc/guides/index.rst                               |    1 +
 drivers/event/Makefile                             |    1 +
 drivers/event/octeontx/Makefile                    |   65 +
 drivers/event/octeontx/rte_pmd_octeontx_ssovf.h    |   61 +
 .../octeontx/rte_pmd_octeontx_ssovf_version.map    |    9 +
 drivers/event/octeontx/ssovf_evdev.c               |  567 ++++++++
 drivers/event/octeontx/ssovf_evdev.h               |  203 +++
 drivers/event/octeontx/ssovf_mbox.c                |  232 ++++
 drivers/event/octeontx/ssovf_probe.c               |  285 ++++
 drivers/event/octeontx/ssovf_worker.c              |  358 +++++
 drivers/event/skeleton/skeleton_eventdev.c         |    4 +-
 lib/librte_eventdev/rte_eventdev.c                 |    3 +-
 lib/librte_eventdev/rte_eventdev_pmd.h             |    5 +-
 mk/rte.app.mk                                      |    1 +
 mk/rte.lib.mk                                      |    2 +-
 23 files changed, 3386 insertions(+), 8 deletions(-)
 create mode 100644 app/test/test_eventdev_octeontx.c
 create mode 100644 doc/guides/eventdevs/index.rst
 create mode 100644 doc/guides/eventdevs/octeontx.rst
 create mode 100644 drivers/event/octeontx/Makefile
 create mode 100644 drivers/event/octeontx/rte_pmd_octeontx_ssovf.h
 create mode 100644 drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
 create mode 100644 drivers/event/octeontx/ssovf_evdev.c
 create mode 100644 drivers/event/octeontx/ssovf_evdev.h
 create mode 100644 drivers/event/octeontx/ssovf_mbox.c
 create mode 100644 drivers/event/octeontx/ssovf_probe.c
 create mode 100644 drivers/event/octeontx/ssovf_worker.c


More information about the dev mailing list