mbox

[v6,00/10] example/l2fwd-event: introduce l2fwd-event example

Message ID 20191014182247.961-1-pbhagavatula@marvell.com (mailing list archive)
Headers

Message

Pavan Nikhilesh Bhagavatula Oct. 14, 2019, 6:22 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

This patchset adds a new application to demonstrate the usage of event
mode. The poll mode is also available to help with the transition.

The following new command line parameters are added:
 --mode: Dictates the mode of operation either poll or event.
 --eventq_sched: Dictates event scheduling mode ordered, atomic or
		 parallel.

Based on event device capability the configuration is done as follows:
    - A single event device is enabled.
    - The number of event ports is equal to the number of worker
      cores enabled in the core mask. Additional event ports might
      be configured based on Rx/Tx adapter capability.
    - The number of event queues is equal to the number of ethernet
      ports. If Tx adapter doesn't have internal port capability then
      an additional single link event queue is used to enqueue events
      to Tx adapter.
    - Each event port is linked to all existing event queues.
    - Dedicated Rx/Tx adapters for each Ethernet port.

v6 Changes:
- Shorten the structure name `s/event_rsrc/evt_rsrc` `s/l2fwd_rsrc/rsrc`.
- Use rte_panic instead of rte_exit.
- Rebase on top of Tx adapter change http://patches.dpdk.org/patch/60971.
- Update documentation and fix error, spellcheck.
- Fix meson build.
- Split functions into smaller functions for redability.
- Add parallel mode support.

v5 Changes:
- Redo poll mode datapath by removing all the static globals.
- Fix event queue configuration when required queues are not available.
- Fix Rx/Tx adapter creation based on portmask.
- Update release notes.
- Unroll macro used to generate event mode functions.

v4 Changes:
- Fix missing eventdev args parsing.

v3 Changes:
- Remove unwanted change to example/l2fwd.
- Fix checkpatch issue
        http://mails.dpdk.org/archives/test-report/2019-September/098053.html

v2 Changes:
- Remove global variables.
- Split patches to make reviews friendlier.
- Split datapath based on eventdev capability.

Pavan Nikhilesh (5):
  examples/l2fwd-event: add default poll mode routines
  examples/l2fwd-event: add infra for eventdev
  examples/l2fwd-event: add service core setup
  examples/l2fwd-event: add eventdev main loop
  examples/l2fwd-event: add graceful teardown

Sunil Kumar Kori (5):
  examples/l2fwd-event: add infra to split eventdev framework
  examples/l2fwd-event: add event device setup
  examples/l2fwd-event: add eventdev queue and port setup
  examples/l2fwd-event: add event Rx/Tx adapter setup
  doc: add application usage guide for l2fwd-event

 MAINTAINERS                                   |   6 +
 doc/guides/rel_notes/release_19_11.rst        |   6 +
 doc/guides/sample_app_ug/index.rst            |   1 +
 doc/guides/sample_app_ug/intro.rst            |   5 +
 doc/guides/sample_app_ug/l2_forward_event.rst | 711 ++++++++++++++++++
 examples/Makefile                             |   1 +
 examples/l2fwd-event/Makefile                 |  62 ++
 examples/l2fwd-event/l2fwd_common.c           | 144 ++++
 examples/l2fwd-event/l2fwd_common.h           | 133 ++++
 examples/l2fwd-event/l2fwd_event.c            | 431 +++++++++++
 examples/l2fwd-event/l2fwd_event.h            |  73 ++
 examples/l2fwd-event/l2fwd_event_generic.c    | 315 ++++++++
 .../l2fwd-event/l2fwd_event_internal_port.c   | 294 ++++++++
 examples/l2fwd-event/l2fwd_poll.c             | 193 +++++
 examples/l2fwd-event/l2fwd_poll.h             |  25 +
 examples/l2fwd-event/main.c                   | 456 +++++++++++
 examples/l2fwd-event/meson.build              |  18 +
 examples/meson.build                          |   2 +-
 18 files changed, 2875 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/sample_app_ug/l2_forward_event.rst
 create mode 100644 examples/l2fwd-event/Makefile
 create mode 100644 examples/l2fwd-event/l2fwd_common.c
 create mode 100644 examples/l2fwd-event/l2fwd_common.h
 create mode 100644 examples/l2fwd-event/l2fwd_event.c
 create mode 100644 examples/l2fwd-event/l2fwd_event.h
 create mode 100644 examples/l2fwd-event/l2fwd_event_generic.c
 create mode 100644 examples/l2fwd-event/l2fwd_event_internal_port.c
 create mode 100644 examples/l2fwd-event/l2fwd_poll.c
 create mode 100644 examples/l2fwd-event/l2fwd_poll.h
 create mode 100644 examples/l2fwd-event/main.c
 create mode 100644 examples/l2fwd-event/meson.build

--
2.17.1