[dpdk-dev] [PATCH v3 00/17] next-eventdev: event/sw software eventdev

Harry van Haaren harry.van.haaren at intel.com
Fri Feb 17 15:53:55 CET 2017


The following patchset adds software eventdev implementation
to the next-eventdev tree.

This implementation is based on the previous software eventdev
v2 patchset, now with comments addressed:
1) Fixed queue configure in single link, returning -EDQOUT (Jerin)
2) SW_SCHED_TYPE_DIRECT now in SW_ namespace (Jerin)
3) SW_PMD_NAME now in SW_ namespace (Jerin)
4) Replaced printfs with SW_LOG() to report errors (Jerin)
5) Update version map to 17.05 (Jerin)
6) Fixed back-to-back tests of event/sw (Jerin)
7) checkpatch issues in v2 of xstats() (Jerin)
8) Updated link() and unlink() functions to accept dev* parameter
9) Fixed bug in load-balanced port credits returning (Gage)
a) Fixed segfault if dump() called before fully configured (Vipin)
b) Removed extern sched_quanta, now tracked internally in state
c) Added compiler barriers to qe_ring datastructures
d) vdev uninit() as implemented in next-eventdev is now supported (Jerin)
c) xstats get() API has "mode" to select dev, port or queue stats (Jerin)
e) xstats reset() added (Jerin)
f) Renamed test_sw_eventdev.c to test_eventdev_sw.c (Jerin)

The first three patches in the series make new changes to the eventdev
API and tests that were not present in the v2 patchset. This was required
to pass the unit tests and provide correct behaviour of eventdev layer
checks of the event/sw implementation:
0) Fix timeout ticks test to return -ENOTSUP if dev doesn't support it
1) Increase the enqueue depth in dev_config and port_conf
2) Create dummy Links before start stop test (details in commit msg)

Next then the software implementation is added, and finally
more tests are added for the sw eventdev implementation.

Git log is clean, while checkpatch issues:
2 Errors on Complex Macro (which I beleive cannot be fixed)
4 Warnings in the scheduler logic, which reduce readability when fixed.

This patchset contains the work of multiple developers,
please see signoffs on each patch.

Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>




Bruce Richardson (14):
  eventdev: add APIs for extended stats
  event/sw: add new software-only eventdev driver
  event/sw: add device capabilities function
  event/sw: add configure function
  event/sw: add fns to return default port/queue config
  event/sw: add support for event queues
  event/sw: add support for event ports
  event/sw: add support for linking queues to ports
  event/sw: add worker core functions
  event/sw: add scheduling logic
  event/sw: add start stop and close functions
  event/sw: add dump function for easier debugging
  event/sw: add xstats support
  app/test: add unit tests for SW eventdev driver

Harry van Haaren (3):
  eventdev: fix API docs and test for timeout ticks
  eventdev: increase size of enq deq conf variables
  app/test: eventdev link all queues before start

 app/test/Makefile                             |    5 +-
 app/test/autotest_data.py                     |   26 +
 app/test/test_eventdev.c                      |   20 +-
 app/test/test_eventdev_sw.c                   | 2249 +++++++++++++++++++++++++
 config/common_base                            |    5 +
 drivers/event/Makefile                        |    1 +
 drivers/event/sw/Makefile                     |   69 +
 drivers/event/sw/event_ring.h                 |  185 ++
 drivers/event/sw/iq_ring.h                    |  176 ++
 drivers/event/sw/rte_pmd_evdev_sw_version.map |    3 +
 drivers/event/sw/sw_evdev.c                   |  793 +++++++++
 drivers/event/sw/sw_evdev.h                   |  306 ++++
 drivers/event/sw/sw_evdev_scheduler.c         |  602 +++++++
 drivers/event/sw/sw_evdev_worker.c            |  188 +++
 drivers/event/sw/sw_evdev_xstats.c            |  511 ++++++
 lib/librte_eventdev/rte_eventdev.c            |   78 +
 lib/librte_eventdev/rte_eventdev.h            |  130 +-
 lib/librte_eventdev/rte_eventdev_pmd.h        |   70 +
 lib/librte_eventdev/rte_eventdev_version.map  |    4 +
 mk/rte.app.mk                                 |    1 +
 20 files changed, 5415 insertions(+), 7 deletions(-)
 create mode 100644 app/test/test_eventdev_sw.c
 create mode 100644 drivers/event/sw/Makefile
 create mode 100644 drivers/event/sw/event_ring.h
 create mode 100644 drivers/event/sw/iq_ring.h
 create mode 100644 drivers/event/sw/rte_pmd_evdev_sw_version.map
 create mode 100644 drivers/event/sw/sw_evdev.c
 create mode 100644 drivers/event/sw/sw_evdev.h
 create mode 100644 drivers/event/sw/sw_evdev_scheduler.c
 create mode 100644 drivers/event/sw/sw_evdev_worker.c
 create mode 100644 drivers/event/sw/sw_evdev_xstats.c

-- 
2.7.4



More information about the dev mailing list