From patchwork Sat Jan 11 13:47:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Nikhilesh Bhagavatula X-Patchwork-Id: 64445 Return-Path: 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 64B50A04FB; Sat, 11 Jan 2020 14:47:39 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9BCAB1DE9C; Sat, 11 Jan 2020 14:47:38 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 32CD71DE92 for ; Sat, 11 Jan 2020 14:47:37 +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 00BDk0sf020360; Sat, 11 Jan 2020 05:47:36 -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=aIeSsogHGSjbHUn2UyEBF+HzEipKW5m16XUCyXP8f7I=; b=Z3oTNDZiFLD9o25rL0V046ZrH8SeRNr9Yb8oujWedh+1xCNn1RSA6bYIuix+yhpR/Brt 5Uzdh/V64zBv4u0fm6uVshLfghNC1lhWeVQUIhwJzq20JDgfd+AWdKm0wwLLNTKiiboK pu+xRx+1KnPvHvB3abUFn8e96jeko/C6Tpdd0qPFt2DdvtqPPZ+uD8HGBFs8NkrhYZ/c lo0zqj1kYXbMiZl3Ujo+LsdSEuIbmgHmOMM8omiyM2D/NYkH1kVXztAgKl5Rp/yOvmzj 18VQjY3Aie8aRbN92NYEpgU/L7W3g5v3K16lFyUp3L+mHxH0hXKYSfFk3une2rHIi04D Hw== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0b-0016f401.pphosted.com with ESMTP id 2xfert03jp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sat, 11 Jan 2020 05:47:36 -0800 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 11 Jan 2020 05:47:33 -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; Sat, 11 Jan 2020 05:47:33 -0800 Received: from BG-LT7430.marvell.com (bg-lt7430.marvell.com [10.28.17.37]) by maili.marvell.com (Postfix) with ESMTP id 8F3883F703F; Sat, 11 Jan 2020 05:47:32 -0800 (PST) From: To: , CC: , Pavan Nikhilesh Date: Sat, 11 Jan 2020 19:17:19 +0530 Message-ID: <20200111134730.5329-1-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191204144345.5736-1-pbhagavatula@marvell.com> References: <20191204144345.5736-1-pbhagavatula@marvell.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-01-11_03:2020-01-10, 2020-01-11 signatures=0 Subject: [dpdk-dev] [PATCH v3 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 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_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. 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 doc/guides/sample_app_ug/l3_forward.rst | 76 ++++- 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 | 302 ++++++++++++++++++++ examples/l3fwd/l3fwd_event_internal_port.c | 281 ++++++++++++++++++ examples/l3fwd/l3fwd_lpm.c | 231 +++++++++++++++ examples/l3fwd/main.c | 316 +++++++++++++++++---- examples/l3fwd/meson.build | 5 +- 14 files changed, 1971 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