[dpdk-dev] [PATCH 0/5] create event rings type

Bruce Richardson bruce.richardson at intel.com
Wed Jun 7 15:36:15 CEST 2017


Following on from the refactoring of the rte_rings code done in the 17.05
release, it becomes relatively easy to create new ring implementations for
data types other than "void *". The first candidate for this is the
rte_event type, which being 16B in size, is small enough to be passed
around directly rather than via pointer. 

The SW eventdev implementation already defines an event ring implementation
and this can be replaced by a more general implementation done in the
eventdev library itself. However, feature parity between the SW eventdev
implementation and a general rte_ring implementation is required, so
support for rings of a defined size is added to the rte_ring library first.

Bruce Richardson (5):
  ring: allow rings with non power-of-2 sizes
  test/test: add unit tests for exact size rings
  eventdev: add ring structure for events
  test/test: add auto-tests for event ring functions
  event/sw: change worker rings to standard event rings

 drivers/event/sw/event_ring.h                | 185 ----------------
 drivers/event/sw/sw_evdev.c                  |  38 ++--
 drivers/event/sw/sw_evdev.h                  |   4 +-
 drivers/event/sw/sw_evdev_scheduler.c        |  19 +-
 drivers/event/sw/sw_evdev_worker.c           |  28 ++-
 drivers/event/sw/sw_evdev_xstats.c           |  15 +-
 lib/Makefile                                 |   2 +-
 lib/librte_eventdev/Makefile                 |   2 +
 lib/librte_eventdev/rte_event_ring.c         | 207 ++++++++++++++++++
 lib/librte_eventdev/rte_event_ring.h         | 312 +++++++++++++++++++++++++++
 lib/librte_eventdev/rte_eventdev_version.map |   9 +
 lib/librte_ring/rte_ring.c                   |  26 ++-
 lib/librte_ring/rte_ring.h                   |  88 +++++---
 test/test/Makefile                           |   1 +
 test/test/test_event_ring.c                  | 275 +++++++++++++++++++++++
 test/test/test_ring.c                        |  71 ++++++
 16 files changed, 1020 insertions(+), 262 deletions(-)
 delete mode 100644 drivers/event/sw/event_ring.h
 create mode 100644 lib/librte_eventdev/rte_event_ring.c
 create mode 100644 lib/librte_eventdev/rte_event_ring.h
 create mode 100644 test/test/test_event_ring.c

-- 
2.9.4



More information about the dev mailing list