DPDK patches and discussions
 help / color / mirror / Atom feed
From: <pbhagavatula@marvell.com>
To: <jerinj@marvell.com>, <konstantin.ananyev@intel.com>
Cc: <dev@dpdk.org>, Pavan Nikhilesh <pbhagavatula@marvell.com>
Subject: [dpdk-dev] [PATCH v6 00/11] example/l3fwd: introduce event device support
Date: Tue, 28 Jan 2020 11:04:54 +0530	[thread overview]
Message-ID: <20200128053506.2173-1-pbhagavatula@marvell.com> (raw)
In-Reply-To: <20200124040542.2360--1-pbhagavatula@marvell.com>

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

This patchset adds support for event mode in l3fwd.
The poll mode is still the default mode of operation.

The following new command line parameters are added:
 --mode: Dictates the mode of operation either poll or event. If unset then
         by default poll mode is used.
 --eventq_sched: Dictates event synchronization mode i.e. either ordered,
		 atomic or parallel.
 --event-eth-rxqs: Number of ethernet RX queues per device.

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:
----------
- Fix typo in comments.

v5 Changes:
----------
- Update release notes and MAINTAINERS file.
- Fix typo in doc.

v4 Changes:
----------
- Update documentation about --event-eth-rxqs. (Jerin)
- Add validation for command line options that are specific to event/poll mode.
- Fix event device service initialization.

v3 Changes:
----------
- Unify argument parsing.
- Segregate poll mode and event mode initialization.
- Simplify event resource creation and accesses.
- Integrate http://patches.dpdk.org/project/dpdk/list/?series=8002 series.
- Reduce code duplication in lpm.

v2 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.
- Add parallel mode support.
- Fix missing eventdev args parsing.


Pavan Nikhilesh (7):
  examples/l3fwd: add event device configuration
  examples/l3fwd: add event eth Rx/Tx adapter setup
  examples/l3fwd: add service core setup based on caps
  examples/l3fwd: add event lpm main loop
  examples/l3fwd: add event em main loop
  examples/l3fwd: add graceful teardown for eventdevice
  doc: update l3fwd user guide to support eventdev

Sunil Kumar Kori (4):
  examples/l3fwd: add framework for event device
  examples/l3fwd: split pipelines based on capability
  examples/l3fwd: add ethdev setup based on eventdev
  examples/l3fwd: add event port and queue setup

 MAINTAINERS                                |   1 +
 doc/guides/rel_notes/release_20_02.rst     |   5 +
 doc/guides/sample_app_ug/l3_forward.rst    |  79 ++++-
 examples/l3fwd/Makefile                    |   3 +-
 examples/l3fwd/l3fwd.h                     |  30 ++
 examples/l3fwd/l3fwd_em.c                  | 177 +++++++++++
 examples/l3fwd/l3fwd_em.h                  | 159 +++++++---
 examples/l3fwd/l3fwd_em_hlm.h              | 131 ++++++++
 examples/l3fwd/l3fwd_em_sequential.h       |  26 ++
 examples/l3fwd/l3fwd_event.c               | 263 ++++++++++++++++
 examples/l3fwd/l3fwd_event.h               |  86 ++++++
 examples/l3fwd/l3fwd_event_generic.c       | 303 ++++++++++++++++++
 examples/l3fwd/l3fwd_event_internal_port.c | 279 +++++++++++++++++
 examples/l3fwd/l3fwd_lpm.c                 | 203 ++++++++++++
 examples/l3fwd/main.c                      | 341 +++++++++++++++++----
 examples/l3fwd/meson.build                 |   5 +-
 16 files changed, 1976 insertions(+), 115 deletions(-)
 create mode 100644 examples/l3fwd/l3fwd_event.c
 create mode 100644 examples/l3fwd/l3fwd_event.h
 create mode 100644 examples/l3fwd/l3fwd_event_generic.c
 create mode 100644 examples/l3fwd/l3fwd_event_internal_port.c

--
2.17.1


       reply	other threads:[~2020-01-28  5:35 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200124040542.2360--1-pbhagavatula@marvell.com>
2020-01-28  5:34 ` pbhagavatula [this message]
2020-01-28  5:34   ` [dpdk-dev] [PATCH v6 01/11] examples/l3fwd: add framework for event device pbhagavatula
2020-01-28  5:34   ` [dpdk-dev] [PATCH v6 02/11] examples/l3fwd: split pipelines based on capability pbhagavatula
2020-01-28  5:34   ` [dpdk-dev] [PATCH v6 03/11] examples/l3fwd: add event device configuration pbhagavatula
2020-01-28  5:34   ` [dpdk-dev] [PATCH v6 04/11] examples/l3fwd: add ethdev setup based on eventdev pbhagavatula
2020-01-28  5:34   ` [dpdk-dev] [PATCH v6 05/11] examples/l3fwd: add event port and queue setup pbhagavatula
2020-01-28  5:35   ` [dpdk-dev] [PATCH v6 06/11] examples/l3fwd: add event eth Rx/Tx adapter setup pbhagavatula
2020-01-28  5:35   ` [dpdk-dev] [PATCH v6 07/11] examples/l3fwd: add service core setup based on caps pbhagavatula
2020-01-28  5:35   ` [dpdk-dev] [PATCH v6 08/11] examples/l3fwd: add event lpm main loop pbhagavatula
2020-01-28  5:35   ` [dpdk-dev] [PATCH v6 09/11] examples/l3fwd: add event em " pbhagavatula
2020-01-28  5:35   ` [dpdk-dev] [PATCH v6 10/11] examples/l3fwd: add graceful teardown for eventdevice pbhagavatula
2020-01-28  5:35   ` [dpdk-dev] [PATCH v6 11/11] doc: update l3fwd user guide to support eventdev pbhagavatula
2020-01-28  9:09   ` [dpdk-dev] [PATCH v6 00/11] example/l3fwd: introduce event device support Jerin Jacob

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200128053506.2173-1-pbhagavatula@marvell.com \
    --to=pbhagavatula@marvell.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=konstantin.ananyev@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).