From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 503E4A2EFC for ; Mon, 14 Oct 2019 20:22:55 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B905B1C217; Mon, 14 Oct 2019 20:22:54 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 094371C0CF for ; Mon, 14 Oct 2019 20:22:52 +0200 (CEST) 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 x9EIK2LM006705; Mon, 14 Oct 2019 11:22:52 -0700 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=IkPBQ7hhA3RCX8+hiE1R1XnmVZZKNiXT2iFcBARvtmc=; b=n5GIelm/jhikAh14VPFvGkYdmFpV+hLm1+g27i+LwBjPKHj8gUeW48yoGkQW0136GmCX wDsTfdrJJt0tKOCO/v3ld8HPNP4ff0x5pXFHM1vOr5g0ggwxP2GqUiAQ8njBanjuwvOB iT14p8TNnK9K/1MrLCHVnVhtQ0Av7tIWuEDfdWJ86I2oqcM95udrsRLCygfeCm4v2H0c a5dXrVScEz0p3jDAqRJMXaOFkBmFjHZs+KtLDhIX9T4K+/3qEwRnGJwK3okuZtMnXm/i Qb098zTiMiKseNpUq7RS8JoZLBKbNV7OGbM/xSes9J9BkKi3vjNkia+j/SL+QXGFQgIK 6A== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 2vkc6r7k2j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 14 Oct 2019 11:22:51 -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; Mon, 14 Oct 2019 11:22:51 -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; Mon, 14 Oct 2019 11:22:50 -0700 Received: from BG-LT7430.marvell.com (pe-lt7585.marvell.com [10.28.17.46]) by maili.marvell.com (Postfix) with ESMTP id 31D183F703F; Mon, 14 Oct 2019 11:22:48 -0700 (PDT) From: To: , , CC: , Pavan Nikhilesh Date: Mon, 14 Oct 2019 23:52:37 +0530 Message-ID: <20191014182247.961-1-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191002205754.11746-1-pbhagavatula@marvell.com> References: <20191002205754.11746-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.95,1.0.8 definitions=2019-10-14_09:2019-10-11,2019-10-14 signatures=0 Subject: [dpdk-dev] [PATCH v6 00/10] example/l2fwd-event: introduce l2fwd-event example 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 a new application to demonstrate the usage of event mode. The poll mode is also available to help with the transition. The following new command line parameters are added: --mode: Dictates the mode of operation either poll or event. --eventq_sched: Dictates event scheduling mode 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. v6 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. - Update documentation and fix error, spellcheck. - Fix meson build. - Split functions into smaller functions for redability. - Add parallel mode support. v5 Changes: - Redo poll mode datapath by removing all the static globals. - Fix event queue configuration when required queues are not available. - Fix Rx/Tx adapter creation based on portmask. - Update release notes. - Unroll macro used to generate event mode functions. v4 Changes: - Fix missing eventdev args parsing. v3 Changes: - Remove unwanted change to example/l2fwd. - Fix checkpatch issue http://mails.dpdk.org/archives/test-report/2019-September/098053.html v2 Changes: - Remove global variables. - Split patches to make reviews friendlier. - Split datapath based on eventdev capability. Pavan Nikhilesh (5): examples/l2fwd-event: add default poll mode routines examples/l2fwd-event: add infra for eventdev examples/l2fwd-event: add service core setup examples/l2fwd-event: add eventdev main loop examples/l2fwd-event: add graceful teardown Sunil Kumar Kori (5): examples/l2fwd-event: add infra to split eventdev framework examples/l2fwd-event: add event device setup examples/l2fwd-event: add eventdev queue and port setup examples/l2fwd-event: add event Rx/Tx adapter setup doc: add application usage guide for l2fwd-event MAINTAINERS | 6 + doc/guides/rel_notes/release_19_11.rst | 6 + doc/guides/sample_app_ug/index.rst | 1 + doc/guides/sample_app_ug/intro.rst | 5 + doc/guides/sample_app_ug/l2_forward_event.rst | 711 ++++++++++++++++++ examples/Makefile | 1 + examples/l2fwd-event/Makefile | 62 ++ examples/l2fwd-event/l2fwd_common.c | 144 ++++ examples/l2fwd-event/l2fwd_common.h | 133 ++++ examples/l2fwd-event/l2fwd_event.c | 431 +++++++++++ examples/l2fwd-event/l2fwd_event.h | 73 ++ examples/l2fwd-event/l2fwd_event_generic.c | 315 ++++++++ .../l2fwd-event/l2fwd_event_internal_port.c | 294 ++++++++ examples/l2fwd-event/l2fwd_poll.c | 193 +++++ examples/l2fwd-event/l2fwd_poll.h | 25 + examples/l2fwd-event/main.c | 456 +++++++++++ examples/l2fwd-event/meson.build | 18 + examples/meson.build | 2 +- 18 files changed, 2875 insertions(+), 1 deletion(-) create mode 100644 doc/guides/sample_app_ug/l2_forward_event.rst create mode 100644 examples/l2fwd-event/Makefile create mode 100644 examples/l2fwd-event/l2fwd_common.c create mode 100644 examples/l2fwd-event/l2fwd_common.h create mode 100644 examples/l2fwd-event/l2fwd_event.c create mode 100644 examples/l2fwd-event/l2fwd_event.h create mode 100644 examples/l2fwd-event/l2fwd_event_generic.c create mode 100644 examples/l2fwd-event/l2fwd_event_internal_port.c create mode 100644 examples/l2fwd-event/l2fwd_poll.c create mode 100644 examples/l2fwd-event/l2fwd_poll.h create mode 100644 examples/l2fwd-event/main.c create mode 100644 examples/l2fwd-event/meson.build -- 2.17.1