From patchwork Thu Sep 26 10:05:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Nikhilesh Bhagavatula X-Patchwork-Id: 59840 Return-Path: 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 ; 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: To: , CC: , Pavan Nikhilesh 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 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Pavan Nikhilesh 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