Message ID | 20190926100558.24348-1-pbhagavatula@marvell.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 07C2C31FC; Thu, 26 Sep 2019 12:06:06 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 8CBB82C6A for <dev@dpdk.org>; Thu, 26 Sep 2019 12:06:04 +0200 (CEST) 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 x8QA4eXs032581; Thu, 26 Sep 2019 03:06:03 -0700 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=zWdt/AsKXiWVDr+7GV0QJMFNQBiJwgGQT8I1tImMamA=; b=XwAfastpSUOziMCupWKVyTODlpKRpbcy16wyoWVyF0hk65TQeJOi2yXCC18iEgd5GQHC 8KtIJxSx073rXiiFGHQyXLz6OjNcWS/PWUNkrAy5iPIrjf01tcoinPbqcjCCEvgHgf6N wlCwrsHeb7T4c1kfbH6bt9TOz2vnC2OKHadeXOUpEwWoJCWJE9uf9zv7j1aood882//Y 4aBdusl75q3w6xwr/BEIUpGDgKKAU2w1Ajgj9o4y416Y/cvb9E0r9FOedqoM75A6O/2p bkxJ78UcvvACtLTBfeVFeVJpDaY1lpd4t+aXhycMl34/0JIpotRDoRJFeteXuxKd40Od rg== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0b-0016f401.pphosted.com with ESMTP id 2v8u5dr18a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 26 Sep 2019 03:06:03 -0700 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 26 Sep 2019 03:06:01 -0700 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Thu, 26 Sep 2019 03:06:01 -0700 Received: from BG-LT7430.marvell.com (unknown [10.28.17.15]) by maili.marvell.com (Postfix) with ESMTP id 5D6FC3F703F; Thu, 26 Sep 2019 03:06:00 -0700 (PDT) From: <pbhagavatula@marvell.com> To: <jerinj@marvell.com>, <akhil.goyal@nxp.com> CC: <dev@dpdk.org>, Pavan Nikhilesh <pbhagavatula@marvell.com> Date: Thu, 26 Sep 2019 15:35:47 +0530 Message-ID: <20190926100558.24348-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,1.0.8 definitions=2019-09-26_04:2019-09-25,2019-09-26 signatures=0 Subject: [dpdk-dev] [PATCH 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
Sept. 26, 2019, 10:05 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_sync: Dictates event synchronization mode i.e. either atomic or
ordered.
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.
Pavan Nikhilesh (6):
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
Sunil Kumar Kori (5):
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: update l3fwd user guide to support eventdev
doc/guides/sample_app_ug/l3_forward.rst | 76 +++-
examples/l3fwd/Makefile | 3 +-
examples/l3fwd/l3fwd.h | 38 ++
examples/l3fwd/l3fwd_em.c | 151 ++++++++
examples/l3fwd/l3fwd_em.h | 159 +++++---
examples/l3fwd/l3fwd_em_hlm.h | 131 +++++++
examples/l3fwd/l3fwd_em_sequential.h | 26 ++
examples/l3fwd/l3fwd_eventdev.c | 356 ++++++++++++++++++
examples/l3fwd/l3fwd_eventdev.h | 116 ++++++
examples/l3fwd/l3fwd_eventdev_generic.c | 222 +++++++++++
examples/l3fwd/l3fwd_eventdev_internal_port.c | 197 ++++++++++
examples/l3fwd/l3fwd_lpm.c | 205 ++++++++++
examples/l3fwd/main.c | 202 ++++++++--
examples/l3fwd/meson.build | 5 +-
14 files changed, 1802 insertions(+), 85 deletions(-)
create mode 100644 examples/l3fwd/l3fwd_eventdev.c
create mode 100644 examples/l3fwd/l3fwd_eventdev.h
create mode 100644 examples/l3fwd/l3fwd_eventdev_generic.c
create mode 100644 examples/l3fwd/l3fwd_eventdev_internal_port.c
--
2.17.1
Comments
Hi Pavan, > > 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_sync: Dictates event synchronization mode i.e. either atomic or > ordered. I suppose this patch-set is for 20.02, right? Konstantin > > 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. > > Pavan Nikhilesh (6): > 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 > > Sunil Kumar Kori (5): > 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: update l3fwd user guide to support eventdev > > doc/guides/sample_app_ug/l3_forward.rst | 76 +++- > examples/l3fwd/Makefile | 3 +- > examples/l3fwd/l3fwd.h | 38 ++ > examples/l3fwd/l3fwd_em.c | 151 ++++++++ > examples/l3fwd/l3fwd_em.h | 159 +++++--- > examples/l3fwd/l3fwd_em_hlm.h | 131 +++++++ > examples/l3fwd/l3fwd_em_sequential.h | 26 ++ > examples/l3fwd/l3fwd_eventdev.c | 356 ++++++++++++++++++ > examples/l3fwd/l3fwd_eventdev.h | 116 ++++++ > examples/l3fwd/l3fwd_eventdev_generic.c | 222 +++++++++++ > examples/l3fwd/l3fwd_eventdev_internal_port.c | 197 ++++++++++ > examples/l3fwd/l3fwd_lpm.c | 205 ++++++++++ > examples/l3fwd/main.c | 202 ++++++++-- > examples/l3fwd/meson.build | 5 +- > 14 files changed, 1802 insertions(+), 85 deletions(-) > create mode 100644 examples/l3fwd/l3fwd_eventdev.c > create mode 100644 examples/l3fwd/l3fwd_eventdev.h > create mode 100644 examples/l3fwd/l3fwd_eventdev_generic.c > create mode 100644 examples/l3fwd/l3fwd_eventdev_internal_port.c > > -- > 2.17.1
Hi Konstantin, We have actually sent v1 before the cutoff date http://patches.dpdk.org/patch/58806/. I missed versioning the patchset as v2. If it's not feasible to review for current release we could push it to 20.02. We at least want to push l2fwd-event example for this release. http://patches.dpdk.org/project/dpdk/list/?series=6498 Pavan. >-----Original Message----- >From: Ananyev, Konstantin <konstantin.ananyev@intel.com> >Sent: Thursday, September 26, 2019 3:41 PM >To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>; Jerin >Jacob Kollanukkaran <jerinj@marvell.com>; akhil.goyal@nxp.com >Cc: dev@dpdk.org >Subject: RE: [dpdk-dev] [PATCH 00/11] example/l3fwd: introduce >event device support >Hi Pavan, > > >> >> 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_sync: Dictates event synchronization mode i.e. either >atomic or >> ordered. > >I suppose this patch-set is for 20.02, right? >Konstantin > >> >> 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. >> >> Pavan Nikhilesh (6): >> 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 >> >> Sunil Kumar Kori (5): >> 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: update l3fwd user guide to support eventdev >> >> doc/guides/sample_app_ug/l3_forward.rst | 76 +++- >> examples/l3fwd/Makefile | 3 +- >> examples/l3fwd/l3fwd.h | 38 ++ >> examples/l3fwd/l3fwd_em.c | 151 ++++++++ >> examples/l3fwd/l3fwd_em.h | 159 +++++--- >> examples/l3fwd/l3fwd_em_hlm.h | 131 +++++++ >> examples/l3fwd/l3fwd_em_sequential.h | 26 ++ >> examples/l3fwd/l3fwd_eventdev.c | 356 >++++++++++++++++++ >> examples/l3fwd/l3fwd_eventdev.h | 116 ++++++ >> examples/l3fwd/l3fwd_eventdev_generic.c | 222 +++++++++++ >> examples/l3fwd/l3fwd_eventdev_internal_port.c | 197 ++++++++++ >> examples/l3fwd/l3fwd_lpm.c | 205 ++++++++++ >> examples/l3fwd/main.c | 202 ++++++++-- >> examples/l3fwd/meson.build | 5 +- >> 14 files changed, 1802 insertions(+), 85 deletions(-) >> create mode 100644 examples/l3fwd/l3fwd_eventdev.c >> create mode 100644 examples/l3fwd/l3fwd_eventdev.h >> create mode 100644 examples/l3fwd/l3fwd_eventdev_generic.c >> create mode 100644 >examples/l3fwd/l3fwd_eventdev_internal_port.c >> >> -- >> 2.17.1
Hi Pavan, > > Hi Konstantin, > > We have actually sent v1 before the cutoff date > http://patches.dpdk.org/patch/58806/. > I missed versioning the patchset as v2. Ah, sorry didn't realize that. > If it's not feasible to review for current release we could push it to 20.02. > > We at least want to push l2fwd-event example for this release. > http://patches.dpdk.org/project/dpdk/list/?series=6498 > > Pavan. > > >-----Original Message----- > >From: Ananyev, Konstantin <konstantin.ananyev@intel.com> > >Sent: Thursday, September 26, 2019 3:41 PM > >To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>; Jerin > >Jacob Kollanukkaran <jerinj@marvell.com>; akhil.goyal@nxp.com > >Cc: dev@dpdk.org > >Subject: RE: [dpdk-dev] [PATCH 00/11] example/l3fwd: introduce > >event device support > >Hi Pavan, > > > > > >> > >> 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_sync: Dictates event synchronization mode i.e. either > >atomic or > >> ordered. > > > >I suppose this patch-set is for 20.02, right? > >Konstantin > > > >> > >> 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. > >> > >> Pavan Nikhilesh (6): > >> 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 > >> > >> Sunil Kumar Kori (5): > >> 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: update l3fwd user guide to support eventdev > >> > >> doc/guides/sample_app_ug/l3_forward.rst | 76 +++- > >> examples/l3fwd/Makefile | 3 +- > >> examples/l3fwd/l3fwd.h | 38 ++ > >> examples/l3fwd/l3fwd_em.c | 151 ++++++++ > >> examples/l3fwd/l3fwd_em.h | 159 +++++--- > >> examples/l3fwd/l3fwd_em_hlm.h | 131 +++++++ > >> examples/l3fwd/l3fwd_em_sequential.h | 26 ++ > >> examples/l3fwd/l3fwd_eventdev.c | 356 > >++++++++++++++++++ > >> examples/l3fwd/l3fwd_eventdev.h | 116 ++++++ > >> examples/l3fwd/l3fwd_eventdev_generic.c | 222 +++++++++++ > >> examples/l3fwd/l3fwd_eventdev_internal_port.c | 197 ++++++++++ > >> examples/l3fwd/l3fwd_lpm.c | 205 ++++++++++ > >> examples/l3fwd/main.c | 202 ++++++++-- > >> examples/l3fwd/meson.build | 5 +- > >> 14 files changed, 1802 insertions(+), 85 deletions(-) > >> create mode 100644 examples/l3fwd/l3fwd_eventdev.c > >> create mode 100644 examples/l3fwd/l3fwd_eventdev.h > >> create mode 100644 examples/l3fwd/l3fwd_eventdev_generic.c > >> create mode 100644 > >examples/l3fwd/l3fwd_eventdev_internal_port.c > >> > >> -- > >> 2.17.1
> > If it's not feasible to review for current release we could push it to 20.02. > > > > We at least want to push l2fwd-event example for this release. > > http://patches.dpdk.org/project/dpdk/list/?series=6498 l2fwd-event was pushed in DPDK 19.11. Please make sure this series (eventdev in l3fwd) is reviewed for an integration in DPDK 20.02.