On Fri, Jan 24, 2020 at 9:35 AM <pbhagavat...@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavat...@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 <jer...@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
>

Reply via email to