From: Anoob Joseph <anoobj@marvell.com>
To: Jerin Jacob <jerinj@marvell.com>,
Nikhil Rao <nikhil.rao@intel.com>,
"Erik Gabriel Carrillo" <erik.g.carrillo@intel.com>,
Abhinandan Gujjar <abhinandan.gujjar@intel.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Pablo de Lara <pablo.de.lara.guarch@intel.com>
Cc: "Anoob Joseph" <anoobj@marvell.com>,
"Narayana Prasad" <pathreya@marvell.com>,
dev@dpdk.org, "Lukasz Bartosik" <lbartosik@marvell.com>,
"Pavan Nikhilesh" <pbhagavatula@marvell.com>,
"Hemant Agrawal" <hemant.agrawal@nxp.com>,
"Nipun Gupta" <nipun.gupta@nxp.com>,
"Harry van Haaren" <harry.van.haaren@intel.com>,
"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>,
"Liang Ma" <liang.j.ma@intel.com>
Subject: [dpdk-dev] [PATCH 00/39] adding eventmode helper library
Date: Mon, 3 Jun 2019 23:02:00 +0530 [thread overview]
Message-ID: <1559583160-13944-1-git-send-email-anoobj@marvell.com> (raw)
This series adds support for eventmode helper library and l2fwd-event
application.
First 13 patches creates a new l2fwd application (l2fwd-event). Minor
code reorganization is done to faciliate seamless integration of
eventmode.
Next 22 patches adds eventmode helper library. This library abstracts
the configuration of event device & Rx-Tx event adapters. The library
can be extended to allow users to control all the configuration
exposed by adapters and eth device.
Last 4 patches implements eventmode in l2fwd-event application. With
event device and adapters, fine tuned threads (based on dev
capabilities) can be drafted to maximize performance. Eventmode
library facilitates this and l2fwd-event demonstrates this usage.
With the introduction of eventmode helper library, any poll mode
application can be converted to an eventmode application with simple
steps, enabling multi-core scaling and dynamic load balancing to
various example applications.
Usage:
./l2fwd-event -- <EAL args> -- <l2fwd args> -- --transfer-mode 1
The above command would invoke eventmode and with the default conf
loaded, traffic on one port would be delivered to all enabled cores.
Planned features,
1. Eventmode helper library doesn't intialize ethdev. Since all
applications already do this, eventmode helper would start
from reconfiguring.
2. All features of eventdev and adapters can be exposed to the user
using common CL arguments. The framework for achieving the same
is already in place. It has to be extended to support more
features.
3. Documentation is pending.
Created new app based on discussions,
http://patchwork.dpdk.org/cover/40884/
https://patches.dpdk.org/patch/40901/
Tested with nicvf eth PMD and event_octeontx event PMD on Marvell's
CN83XX platform.
Anoob Joseph (39):
examples/l2fwd-event: create copy of l2fwd
examples/l2fwd-event: move macros to common header
examples/l2fwd-event: move structures to common header
examples/l2fwd-event: move global vars to common header
examples/l2fwd-event: move dataplane code to new file
examples/l2fwd-event: remove unused header includes
examples/l2fwd-event: move drain buffers to new function
examples/l2fwd-event: optimize check for master core
examples/l2fwd-event: move periodic tasks to new func
examples/l2fwd-event: do timer updates only on master
examples/l2fwd-event: move pkt send code to a new func
examples/l2fwd-event: use fprintf in usage print
examples/l2fwd-event: improvements to the usage print
eventdev: add files for eventmode helper
eventdev: add routines for logging eventmode helper
eventdev: add eventmode CL options framework
eventdev: allow application to set ethernet portmask
eventdev: add framework for eventmode conf
eventdev: add common initialize routine for eventmode devs
eventdev: add eventdevice init for eventmode
eventdev: add eventdev port-lcore link
eventdev: add option to specify schedule mode for app stage
eventdev: add placeholder for ethdev init
eventdev: add Rx adapter init in eventmode
eventdev: add routine to validate conf
eventdev: add default conf for event devs field in conf
eventdev: add default conf for Rx adapter conf
eventdev: add default conf for event port-lcore link
eventdev: add routines to display the eventmode conf
eventdev: add routine to access eventmode link info
eventdev: add routine to access event queue for eth Tx
eventdev: add routine to launch eventmode workers
eventdev: add Tx adapter support
eventdev: add support for internal ports
eventdev: display Tx adapter conf
examples/l2fwd-event: add eventmode for l2fwd
examples/l2fwd-event: add eventmode worker
examples/l2fwd-event: add eventmode worker
examples/l2fwd-event: add eventmode worker
config/common_base | 1 +
examples/Makefile | 1 +
examples/l2fwd-event/Makefile | 57 +
examples/l2fwd-event/l2fwd_common.h | 63 +
examples/l2fwd-event/l2fwd_worker.c | 1121 +++++++++++++
examples/l2fwd-event/l2fwd_worker.h | 16 +
examples/l2fwd-event/main.c | 585 +++++++
examples/l2fwd-event/meson.build | 14 +
lib/librte_eal/common/eal_common_log.c | 1 +
lib/librte_eal/common/include/rte_log.h | 1 +
lib/librte_eventdev/Makefile | 6 +-
lib/librte_eventdev/meson.build | 3 +
lib/librte_eventdev/rte_eventdev_version.map | 8 +
lib/librte_eventdev/rte_eventmode_helper.c | 1678 ++++++++++++++++++++
lib/librte_eventdev/rte_eventmode_helper.h | 241 +++
.../rte_eventmode_helper_internal.h | 144 ++
lib/librte_eventdev/rte_eventmode_helper_prints.c | 223 +++
17 files changed, 4161 insertions(+), 2 deletions(-)
create mode 100644 examples/l2fwd-event/Makefile
create mode 100644 examples/l2fwd-event/l2fwd_common.h
create mode 100644 examples/l2fwd-event/l2fwd_worker.c
create mode 100644 examples/l2fwd-event/l2fwd_worker.h
create mode 100644 examples/l2fwd-event/main.c
create mode 100644 examples/l2fwd-event/meson.build
create mode 100644 lib/librte_eventdev/rte_eventmode_helper.c
create mode 100644 lib/librte_eventdev/rte_eventmode_helper.h
create mode 100644 lib/librte_eventdev/rte_eventmode_helper_internal.h
create mode 100644 lib/librte_eventdev/rte_eventmode_helper_prints.c
--
2.7.4
next reply other threads:[~2019-06-03 17:33 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-03 17:32 Anoob Joseph [this message]
2019-06-03 17:32 ` [dpdk-dev] [PATCH 01/39] examples/l2fwd-event: create copy of l2fwd Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 02/39] examples/l2fwd-event: move macros to common header Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 03/39] examples/l2fwd-event: move structures " Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 04/39] examples/l2fwd-event: move global vars " Anoob Joseph
2019-06-07 10:02 ` Jerin Jacob Kollanukkaran
2019-06-07 10:45 ` Anoob Joseph
2019-06-07 12:47 ` Jerin Jacob Kollanukkaran
2019-06-03 17:32 ` [dpdk-dev] [PATCH 05/39] examples/l2fwd-event: move dataplane code to new file Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 06/39] examples/l2fwd-event: remove unused header includes Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 07/39] examples/l2fwd-event: move drain buffers to new function Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 08/39] examples/l2fwd-event: optimize check for master core Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 09/39] examples/l2fwd-event: move periodic tasks to new func Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 10/39] examples/l2fwd-event: do timer updates only on master Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 11/39] examples/l2fwd-event: move pkt send code to a new func Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 12/39] examples/l2fwd-event: use fprintf in usage print Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 13/39] examples/l2fwd-event: improvements to the " Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 14/39] eventdev: add files for eventmode helper Anoob Joseph
2019-06-10 10:10 ` Jerin Jacob Kollanukkaran
2019-06-03 17:32 ` [dpdk-dev] [PATCH 15/39] eventdev: add routines for logging " Anoob Joseph
2019-06-10 10:12 ` Jerin Jacob Kollanukkaran
2019-06-17 9:09 ` Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 16/39] eventdev: add eventmode CL options framework Anoob Joseph
2019-06-10 10:19 ` Jerin Jacob Kollanukkaran
2019-06-17 10:14 ` Anoob Joseph
2019-06-11 8:58 ` [dpdk-dev] [EXT] " Sunil Kumar Kori
2019-06-03 17:32 ` [dpdk-dev] [PATCH 17/39] eventdev: allow application to set ethernet portmask Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 18/39] eventdev: add framework for eventmode conf Anoob Joseph
2019-06-10 10:06 ` Jerin Jacob Kollanukkaran
2019-06-20 7:26 ` Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 19/39] eventdev: add common initialize routine for eventmode devs Anoob Joseph
2019-06-10 10:23 ` Jerin Jacob Kollanukkaran
2019-06-17 10:22 ` Anoob Joseph
2019-06-11 8:58 ` [dpdk-dev] [EXT] " Sunil Kumar Kori
2019-06-03 17:32 ` [dpdk-dev] [PATCH 20/39] eventdev: add eventdevice init for eventmode Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 21/39] eventdev: add eventdev port-lcore link Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 22/39] eventdev: add option to specify schedule mode for app stage Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 23/39] eventdev: add placeholder for ethdev init Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 24/39] eventdev: add Rx adapter init in eventmode Anoob Joseph
2019-06-10 14:56 ` Carrillo, Erik G
2019-06-11 3:45 ` [dpdk-dev] [EXT] " Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 25/39] eventdev: add routine to validate conf Anoob Joseph
2019-06-10 10:25 ` Jerin Jacob Kollanukkaran
2019-06-17 10:23 ` Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 26/39] eventdev: add default conf for event devs field in conf Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 27/39] eventdev: add default conf for Rx adapter conf Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 28/39] eventdev: add default conf for event port-lcore link Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 29/39] eventdev: add routines to display the eventmode conf Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 30/39] eventdev: add routine to access eventmode link info Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 31/39] eventdev: add routine to access event queue for eth Tx Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 32/39] eventdev: add routine to launch eventmode workers Anoob Joseph
2019-06-10 14:31 ` Carrillo, Erik G
2019-06-17 10:34 ` [dpdk-dev] [EXT] " Anoob Joseph
2019-06-10 14:46 ` [dpdk-dev] " Carrillo, Erik G
2019-06-27 5:50 ` Anoob Joseph
2019-06-11 8:58 ` [dpdk-dev] [EXT] " Sunil Kumar Kori
2019-06-03 17:32 ` [dpdk-dev] [PATCH 33/39] eventdev: add Tx adapter support Anoob Joseph
2019-06-11 8:58 ` [dpdk-dev] [EXT] " Sunil Kumar Kori
2019-06-03 17:32 ` [dpdk-dev] [PATCH 34/39] eventdev: add support for internal ports Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 35/39] eventdev: display Tx adapter conf Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 36/39] examples/l2fwd-event: add eventmode for l2fwd Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 37/39] examples/l2fwd-event: add eventmode worker Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 38/39] " Anoob Joseph
2019-06-03 17:32 ` [dpdk-dev] [PATCH 39/39] " Anoob Joseph
2019-06-07 9:48 ` [dpdk-dev] [PATCH 00/39] adding eventmode helper library Jerin Jacob Kollanukkaran
2019-06-11 10:44 ` Mattias Rönnblom
2019-06-14 9:18 ` [dpdk-dev] [EXT] " Anoob Joseph
2019-06-17 13:23 ` Mattias Rönnblom
2019-06-20 3:44 ` Anoob Joseph
2019-06-25 10:33 [dpdk-dev] " Jerin Jacob Kollanukkaran
2019-06-27 5:28 ` Anoob Joseph
2019-06-28 3:37 ` Jerin Jacob Kollanukkaran
2019-06-28 8:02 ` Mattias Rönnblom
2019-06-28 8:40 ` Thomas Monjalon
2019-06-28 9:07 ` Mattias Rönnblom
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=1559583160-13944-1-git-send-email-anoobj@marvell.com \
--to=anoobj@marvell.com \
--cc=abhinandan.gujjar@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=erik.g.carrillo@intel.com \
--cc=harry.van.haaren@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=jerinj@marvell.com \
--cc=lbartosik@marvell.com \
--cc=liang.j.ma@intel.com \
--cc=mattias.ronnblom@ericsson.com \
--cc=nikhil.rao@intel.com \
--cc=nipun.gupta@nxp.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=pathreya@marvell.com \
--cc=pbhagavatula@marvell.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).