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 >