Message ID | 20191204144345.5736-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 C4B22A04B5; Wed, 4 Dec 2019 15:43:53 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EC77A1BE84; Wed, 4 Dec 2019 15:43:52 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 0923F1BE83 for <dev@dpdk.org>; Wed, 4 Dec 2019 15:43:51 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xB4EesDA014353 for <dev@dpdk.org>; Wed, 4 Dec 2019 06:43:51 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=h4fsGZE0L7o/9MXY4HYOkkSHlMY0vyi4S3CBuIKZguA=; b=KAEy3DKi2+9kRVh9qxqB+Q4P1zAkrR88Dx332mLZA38u+WWevlHqnwnp9Xgpw7EfBYJ1 tjX0fqRRsa8ZBTkyf0y3WDAmQcbo9tVLahxRy4a20S56IuOHGD2X1WCJGlvZCVoehEYS wrcaL+QUY5zZuDheTsKEbl1rmCzwYWn3LqKCUMfUv3wj4M/BlcqXFQTKX3edoasV4MzQ Ow6cjRucvuRwLZKfZCy2GPtWQVkjvXrg2cXBqmuTLoGxpQyY3SPrdBDtfktADdWM2/7J xIvYh/6HMOX7GqSV1LO/KpOyuVhtGmWEXKOvJGDN9RQQuj5iTfNRCRxuxQt7UonPy2+h jA== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 2wnvgvmes8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for <dev@dpdk.org>; Wed, 04 Dec 2019 06:43:50 -0800 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 4 Dec 2019 06:43:50 -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.1367.3 via Frontend Transport; Wed, 4 Dec 2019 06:43:49 -0800 Received: from localhost.localdomain (unknown [10.36.16.86]) by maili.marvell.com (Postfix) with ESMTP id 7090A3F703F; Wed, 4 Dec 2019 06:43:48 -0800 (PST) From: <pbhagavatula@marvell.com> To: <jerinj@marvell.com> CC: <dev@dpdk.org>, Pavan Nikhilesh <pbhagavatula@marvell.com> Date: Wed, 4 Dec 2019 20:13:33 +0530 Message-ID: <20191204144345.5736-1-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-12-04_03:2019-12-04,2019-12-04 signatures=0 Subject: [dpdk-dev] [PATCH v2 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
Dec. 4, 2019, 2:43 p.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.
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.
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
doc/guides/sample_app_ug/l3_forward.rst | 76 +++++-
examples/l3fwd/Makefile | 3 +-
examples/l3fwd/l3fwd.h | 32 +++
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 | 294 ++++++++++++++++++++
examples/l3fwd/l3fwd_event.h | 117 ++++++++
examples/l3fwd/l3fwd_event_generic.c | 300 +++++++++++++++++++++
examples/l3fwd/l3fwd_event_internal_port.c | 279 +++++++++++++++++++
examples/l3fwd/l3fwd_lpm.c | 231 ++++++++++++++++
examples/l3fwd/main.c | 203 +++++++++++---
examples/l3fwd/meson.build | 5 +-
14 files changed, 1948 insertions(+), 85 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 Wed, Dec 4, 2019 at 8:13 PM <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. > > 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. > > 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. Since there is no maintainer for l3fwd and tech board decided to have a unified l3fwd application for poll mode and event mode, I request to have the review for the common code change(at least 8/11 and 9/11 patches). This series has been pushed from the last release to this release to have enough review. We would like to merge this patch for this release. Request a timely review.