[dpdk-dev] [PATCH v5 00/11] example/l3fwd: introduce event device support
Jerin Jacob
jerinjacobk at gmail.com
Mon Jan 27 17:17:26 CET 2020
On Fri, Jan 24, 2020 at 9:35 AM <pbhagavatula at marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula at 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.
This series looks good to me.
I have verified that there is no poll mode per core performance impact
with this change.
I will merge the next version on Tuesday for rc2 if there are no more
comments from the mailing list.
With below changes, Series-Acked-by: Jerin Jacob <jerinj at marvell.com>
# Please rebase the release note to next-eventdev
# Fix the following typos
### examples/l3fwd: add event device configuration
WARNING:TYPO_SPELLING: 'configurtion' may be misspelled - perhaps
'configuration'?
#119: FILE: examples/l3fwd/l3fwd_event_generic.c:34:
+ /* Event device configurtion */
WARNING:TYPO_SPELLING: 'configurtion' may be misspelled - perhaps
'configuration'?
#207: FILE: examples/l3fwd/l3fwd_event_internal_port.c:34:
+ /* Event device configurtion */
total: 0 errors, 2 warnings, 230 lines checked
### examples/l3fwd: add event eth Rx/Tx adapter setup
WARNING:TYPO_SPELLING: 'memery' may be misspelled - perhaps 'memory'?
#67: FILE: examples/l3fwd/l3fwd_event_generic.c:208:
+ rte_panic("Failed to allocate memery for Rx adapter\n");
WARNING:TYPO_SPELLING: 'memery' may be misspelled - perhaps 'memory'?
#111: FILE: examples/l3fwd/l3fwd_event_generic.c:252:
+ rte_panic("Failed to allocate memery for Rx adapter\n");
WARNING:TYPO_SPELLING: 'memery' may be misspelled - perhaps 'memory'?
#198: FILE: examples/l3fwd/l3fwd_event_internal_port.c:207:
+ rte_panic("Failed to allocate memery for Rx adapter\n");
WARNING:TYPO_SPELLING: 'memery' may be misspelled - perhaps 'memory'?
#236: FILE: examples/l3fwd/l3fwd_event_internal_port.c:245:
+ rte_panic("Failed to allocate memery for Rx adapter\n");
total: 0 errors, 4 warnings, 239 lines checked
>
> 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
>
More information about the dev
mailing list