Message ID | 20200128053506.2173-1-pbhagavatula@marvell.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E7C60A04B3; Tue, 28 Jan 2020 06:35:14 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 38D5B1C023; Tue, 28 Jan 2020 06:35:14 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id E6B121C014 for <dev@dpdk.org>; Tue, 28 Jan 2020 06:35:12 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 00S5YjFN016830; Mon, 27 Jan 2020 21:35:12 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=KfVPudqgUErROBzWgO2jw2Gh2dv+HCjLl5XD6pzLijE=; b=P/QzhCO8aaWNElVffh7D5aYrVSEuDKK0kAMzhQI5jZVTDyuAQbbtzAOeZsukq4Ii9VTe r/aHHIkN7CxamdFbwjSbxKs5cuXvuQTal7Us4RseK8IzB97YX++7nrt9ObgdOs6mTins 6PYYpdiZGb/KdfkiUiHIJ2KVWA4iGlmfr2kPO7aChOlTryXYNRU9hpvgiBnw/gMTNX2B WApUywMPnx0MUz6PaYJj1uQRgldyy++dHc7mRvZFxNAa4G6OQZMhNUy2WjJWWkBh8eCq TGxf+2MdheEFB7hCABbNnctS4B/Fdm+vzJ+2NdptPsd6yxcf96IbWhiVbjdPr7ersIcP bw== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2xrp2t2ft2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 27 Jan 2020 21:35:12 -0800 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 27 Jan 2020 21:35:10 -0800 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 27 Jan 2020 21:35:09 -0800 Received: from BG-LT7430.marvell.com (unknown [10.28.17.49]) by maili.marvell.com (Postfix) with ESMTP id 4DCAC3F7041; Mon, 27 Jan 2020 21:35:07 -0800 (PST) From: <pbhagavatula@marvell.com> To: <jerinj@marvell.com>, <konstantin.ananyev@intel.com> CC: <dev@dpdk.org>, Pavan Nikhilesh <pbhagavatula@marvell.com> Date: Tue, 28 Jan 2020 11:04:54 +0530 Message-ID: <20200128053506.2173-1-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200124040542.2360--1-pbhagavatula@marvell.com> References: <20200124040542.2360--1-pbhagavatula@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-01-27_08:2020-01-24, 2020-01-27 signatures=0 Subject: [dpdk-dev] [PATCH v6 00/11] example/l3fwd: introduce event device support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
example/l3fwd: introduce event device support
|
|
Message
Pavan Nikhilesh Bhagavatula
Jan. 28, 2020, 5:34 a.m. UTC
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
Comments
On Tue, Jan 28, 2020 at 11:05 AM <pbhagavatula@marvell.com> wrote: > > 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 Series-Acked-by: Jerin Jacob <jerinj@marvell.com> Series applied to dpdk-next-eventdev/master. Thanks. > > 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 >