From patchwork Mon Dec 18 21:44:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Pavan Nikhilesh X-Patchwork-Id: 32385 X-Patchwork-Delegate: jerinj@marvell.com 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 0B73B1B169; Mon, 18 Dec 2017 22:45:44 +0100 (CET) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0061.outbound.protection.outlook.com [104.47.37.61]) by dpdk.org (Postfix) with ESMTP id 02BB51B00B for ; Mon, 18 Dec 2017 22:45:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=IJiQhI9e9dzxjN7x7W/V0ZDwpHrEybjUwfGhbn0WJTk=; b=JftuYsG8lmqwrxyT2BF7fp5JOEfWtv2hcsH882WGQzC+1Va6oYyKfqMyqcqvNz2tE+Go9zpQsfhQmK89YmM7tYxCVeA5Pxya5XSKOfsA+ErTILNB2QI/lJjSU2yUBtii2sRM50qb8q1Hlv3sRnKxYgD6Tz/xiyCqWEL7qbdTB08= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from localhost.localdomain (111.93.218.67) by DM5PR07MB3467.namprd07.prod.outlook.com (10.164.153.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.323.15; Mon, 18 Dec 2017 21:45:33 +0000 From: Pavan Nikhilesh To: jerin.jacob@caviumnetworks.com, santosh.shukla@caviumnetworks.com, bruce.richardson@intel.com, harry.van.haaren@intel.com, gage.eads@intel.com, hemant.agrawal@nxp.com, nipun.gupta@nxp.com, liang.j.ma@intel.com Cc: dev@dpdk.org, Pavan Nikhilesh Date: Tue, 19 Dec 2017 03:14:05 +0530 Message-Id: <20171218214405.26763-12-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171218214405.26763-1-pbhagavatula@caviumnetworks.com> References: <20171130072406.15605-1-pbhagavatula@caviumnetworks.com> <20171218214405.26763-1-pbhagavatula@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: HK2PR02CA0163.apcprd02.prod.outlook.com (10.171.30.23) To DM5PR07MB3467.namprd07.prod.outlook.com (10.164.153.22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f0a1bbe7-ee51-49bc-ffbe-08d54660acce X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603307); SRVR:DM5PR07MB3467; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3467; 3:ufNLAyo2WHt0n4EnbsAUUf6qPA99pNw+9+5QJyU5+xstNTudjNKb8zcKnxMDZukkzjUjNjLiSKHbxpvvJ+dqumuODovtTfSg53P8wzgpuWT5qk17DzQDk5oQ9szm7HWuvAUaf46yLpkqn1AQEMoy7tHl0xQwhEztCda8/yogjIuWhVfKUwc0Ndq6KJ6Ya4K/bj/swzKRQA2UsYY7/lbrclsxf5OWshczWkU+AOtUlwyTIM62SywXffx+E6jiHgAf; 25:99nkJ9bas4yoio8fBxGguyJC1Hg6dk76cBxF36F5bcVZe3PsC6BQfYuHl+wqXIPMtoggVJC9kizEhKXW1zfNQ61NXk0wgq3LEfW1tn5Ttjmm+djgNsJfbsiWKnrLv21I+sKQ4szHNbphFbBYUoD0WEB4Jy5cCGS/1F0zzCev4IXrbD5dtMIaAyAsJDprSnPGDWCWIksSwzAW+IlAcduzLB41kZkFKuPT9LOAmBQypZfwEq+K6Ife1RnfLFosNjawszYtmQJsswaOkwZQ4g9Cc7wvgmHOWg46PurbeitoG65UsnRrg7q1N7TYYSXc48elmu3X7QOBVINXqBgJY89m7Q==; 31:Uvse0K8Uedy6IEEMDGunvllBOAhADfRYGfIsTLpQIOmR7mvI3zICl06z6YJEiMFPfTbsM3/Npgwu4j5tBmvagMUZUEuiQw6QXTqRSjN5TVIborTOqmacPvNp52vHEG2Ws2DkGv2YbiDP66P2/ONot/Bzn/ZCG3kA0n2SlSPFei/eWNWXfTM6/Fk6EvmDLsIL54pCOfYyQBRnyKcNv1qnTa+m74m649LKuzsn4NRcs6A= X-MS-TrafficTypeDiagnostic: DM5PR07MB3467: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3467; 20:WCGcYZb/2BgvNFQLbnUdzqLMCFsHLwDIsavnoN9fgxmGBwCiL/G6gZOCadN9DJrMQ+m0mau5pnyAm6Vp/m5VKg4cr4c7swsR/t12ykqzgLw0XmcUFBuNBLIfIpzJdoOB2ZFbwlo+drFODnqoAVPkCDen1JXogPR4vwfBqfrYaV3n8iI20nwZ03Iyc4PD6Bacu5w+brJ5nuwarEZO4F4IX9yF5mO+7RswB70Rn9YCJupHB04GR0/5OLaWdcSgEak+pMmBTmD/+myN0xyNDuzmZIhgDcUdt81VjAV081KJC0hLPvAbnh2r2IXJBszHruEYYzRvUj/53PKRkrl5hps2bO1kclDPkYXxqK70w7NJa8kavyrggzssgT2Y4Yz6+YV+amSWE5hx8sZs9MeyBoDUh8fvNTXtCBAc2CisDWnurqu1RR7F4w/3HP2Fahn6VAeR6ir7Xtfr+JXn0B0ulxCSsjCL1DWKQzSs++/+zn1RJ+edekzmvQohDQhD2GJC3YTxuIUxD+pCHcvZrDdVakQzMc9BBQMqBa/6CVs/D80h2zPiBjJMCT7ZPdMybsQMVEon4EmLAbZcvoHMeMRwLL8137Y+/3gRbrOhhpmjX3w1nw4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(145185744447497)(159090696235961)(131327999870524)(42262312472803); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(10201501046)(93006095)(3002001)(3231023)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123564025)(20161123555025)(20161123560025)(6072148)(201708071742011); SRVR:DM5PR07MB3467; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM5PR07MB3467; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3467; 4:uPEoiS2srgd/PA06d/cVHr1PII5Hh3c6j4lCpcbLXT2wY/TE1b/9rmFdc77cJzoVzx5x2AkZChjGrOjTc+k3yQ6G1bft0FvTGf7Bsplur0SEWMi0gM89wO7lWKsvS6J4ZrrRNqFke7J9RfYj1FaVVaRNL2sY3q2f+hbHInjdzbG/D7Xa65mBkzGuIkHcUNHPIiZ7YOqdmlTqbtJJ/otStbWKrIBZh1nB62aOOYfeuNRwJz096gnBzgCa0a2z8qr8APhYgR2Kq9fzzFzeAfX6aW580zz/ImySiji3NpioqR8+7SLmSOZQC+1o8nO0ohmHsrkzngqxLaPcab7jNRmHlmuurGEdJe/by8Iqj4aA7Fv26ksIHX+JZ2fO13MMjFmHJv/c9mRno8hCQSAEuHmypAfbWiUp1p5Q9kUpabNhhZE= X-Forefront-PRVS: 0525BB0ADF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(396003)(366004)(376002)(39860400002)(346002)(377424004)(199004)(189003)(4326008)(2906002)(16200700003)(53946003)(53936002)(305945005)(25786009)(1076002)(23676004)(8936002)(50226002)(16526018)(6506007)(19273905006)(386003)(68736007)(2870700001)(52116002)(478600001)(5009440100003)(3846002)(6116002)(72206003)(53376002)(36756003)(6486002)(107886003)(8676002)(5660300001)(106356001)(105586002)(8656006)(2950100002)(42882006)(6306002)(6512007)(6666003)(59450400001)(7736002)(66066001)(47776003)(76176011)(50466002)(81166006)(81156014)(316002)(97736004)(562404015)(42262002)(579004)(559001)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3467; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDM5PR07MB3467=3B23=3A/aZb?= =?utf-8?q?b984qjkvp1B9mU4oqtPjSl3+V4x7aQxSLWjpqqSopPSMDyBpRgpfz7Ac?= =?utf-8?q?I/WI82S52/TfWwW8rITMkwIEv36niDUVqpHgX0l3ZsQpOB2KkI8fuQf5?= =?utf-8?q?/CUpGX+Pczb0N4I1THoUSYenhGnWgVwhcA6dc4C60HV+TgcIvBEwHQme?= =?utf-8?q?iA+u1ta0kbNxTGulyu0QyUqDVjEdPl8jQ/HEYK0Q1Kd8+hVZB9Z75wt0?= =?utf-8?q?RT1Qw+u5Yz00PaNF0VTxy+ypGhGhzRQ6A7DjjVlFBlgLg46D9PEjgOf7?= =?utf-8?q?V0/N3GqdknVobkc6KULiio18c6zozI2w8czRYIkIy4pH8xifu72FMr46?= =?utf-8?q?ZKkWcsLA3pH9tZE91tirQ6XfMfE2oir2ShFfi729t8GjxZ1RpqfRzXj8?= =?utf-8?q?R8eL3BvThBc0ZGUBIiEA6KKE3bxPZFRdanKaX82XJ5OVOnk4fED4UQP/?= =?utf-8?q?WeAud1+tbOI7RSkS+QaBFqV4No+MH4w5eTzb7D9HtD+OF/zZQ/DpwbcN?= =?utf-8?q?6YThaJ3TolI76oCGWyo0t9OcqQcu2Xl1pjhNtbU9XLtwMWwrybzr8lj4?= =?utf-8?q?v9um1jRQddAeR7ID6da4f7OjYDp0IJ6CHP2gh5P9MvDKw0F62h21Rg/S?= =?utf-8?q?tNBpnHoXHG5KGGyor6D4gq0UxC4kjSkrfDcbrcc8yC/xGbBXb5ayglWk?= =?utf-8?q?H0zwq/aLBPBS89hjlCzwJHAPJaD6g8pMxUeQGKzb9+hN+UkGtj/LziKU?= =?utf-8?q?oU8ZdirlytIzurxFs8Nmt2bo3j+aUK4UOhRHryN+2E3Uc0OjmA4NK8KD?= =?utf-8?q?Tk4Eukc/FqwZOlzB6XumZetWlED9MOxmszktZbN8zU8CY65dutym96ap?= =?utf-8?q?JOrE3kTr7ptO3+mu2iU7PlDR+LmaXyfvYwSayZmUuydwBtGcQrUF2NBr?= =?utf-8?q?23X5WSA2VShO5wKkOedqxu1DvxkWZyuqXREJEiWT0gdpepCrx2O1lDMK?= =?utf-8?q?ZIgGcuo5vxejviQG1Gbte9Za7pOtFxqkoAIL0iVeKWRUh4M29AFx8c1g?= =?utf-8?q?2jNX/mtsbBXYGBEFN7t8fBPb/Lz9oyt2imRbKbMzFCU0yTNjWcX4AcCK?= =?utf-8?q?mG3N31RqTM1DClgu3PirHIvWhOkRgZzP17N/G4s44vg/4pPuwZKTvgWz?= =?utf-8?q?HhzlZCaTX8mi9SqHgJAkMraD2b3JYpszqI4mUlks8SKz4wdWuMEVwOC+?= =?utf-8?q?PK0BD67pJ91Cc2bX4D0yvS52c497SGpzUR+KEuRHLVXuo+WikaoAu3Ma?= =?utf-8?q?K3isy+g08ODLvBKHwF5DmP88n5JPbdRcNiFiGPg6vOpq/7+uupGnNLwr?= =?utf-8?q?vY2E2MuqHRLtJoOU3XxnxjjxT8/5L5/tYAjP92Gez1AJRhxbOyAeu0jP?= =?utf-8?q?BRnmX+WyLzCFil02P6DoRQ2/W88ccd43zdSzRer+BxL/0p9NvO5JuzYv?= =?utf-8?q?E0Qk?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3467; 6:5w1g16scw53ugqTwtb76igLY3oU46oCvEtz0gui4SUoRYg7BfKEZRAzfDyxR8Axdjxi8QcOkasKpgxlntjPjAEX5F0Mr7jkaJPEzWkf3k3FMGXoc3hhnSIhsonA5c70gsbxo/4mlcCYs62k6KqtBE5rnC8v4uSH6FsWlHuX7d5va2B40Byr+hpBS+pKUWPgHuBWI4lP5TU9peVCEQvlecF1G8DQcfdRKgovSdWPm9AgYPYDjzfBkLhFx2FAWFLXTqisA2C3rlleRBTYo+mqrmkZih+EFanBIyBHyy5hEdV0fngGv27OLL1Xg6vzlecJPuVgsyQXnpFpRRw6h8Tr3F75V6Gx7qtQUq/LaZ48nXRY=; 5:szOj7zCHJzDzhyDT/8ON587Czc8JhrtvICEAdzMVvgcwYic9nl1EvV618ZfE0t+wrrST9oV0vcvTI5EQAjyGtu55prtG1O+uTIezIH3fUIia6VblNrvun2xdd7pDFI7M42GggUERFqR/LXtE/pcmoIaYZBRDTTEb6odh5sxQY7E=; 24:Mmm6cw5X+PO+Eyk+jUZJEwTrmBYNJsCkXUCEfmBw0xKPw58xlpDkEzqsYHmHZUrYxIKTFGfOA30N4TA9OlmHHLXizH6DqgVwGV6aQZkQmMs=; 7:n2CpjI7jodNWjc4RlfBDCds1l3n4FNgrnTuTh9ZgPaQ+/6MIv6NDPNZPN+FToN+aiH8a8uE2of29l/TWiC8rO0zBKk0c9M9KvMAhD4Dp5w/9C4W4g4Ymp1rCxNKOxc1EHl5v6q+t7Xh0LFL10ajme/a9QpEvUkAyuR7RMTpz6Xphi2D/Pmdvgnmgy8AUyQSdjuFMrw7NO253GTlz2hP2QSy70doYQG8Aj02d3QssN3NNmKnJ7ygR/B+crwRbEzxK SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Dec 2017 21:45:33.7533 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f0a1bbe7-ee51-49bc-ffbe-08d54660acce X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3467 Subject: [dpdk-dev] [PATCH v2 12/12] doc: add pipeline test in eventdev test guide 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" Signed-off-by: Pavan Nikhilesh --- .../tools/img/eventdev_pipeline_atq_test.svg | 3292 ++++++++++++++++++++ .../tools/img/eventdev_pipeline_queue_test.svg | 3292 ++++++++++++++++++++ doc/guides/tools/testeventdev.rst | 174 ++ 3 files changed, 6758 insertions(+) create mode 100644 doc/guides/tools/img/eventdev_pipeline_atq_test.svg create mode 100644 doc/guides/tools/img/eventdev_pipeline_queue_test.svg diff --git a/doc/guides/tools/img/eventdev_pipeline_atq_test.svg b/doc/guides/tools/img/eventdev_pipeline_atq_test.svg new file mode 100644 index 000000000..eb926227f --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_atq_test.svg @@ -0,0 +1,3292 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + +   + + + + + + worker 0 + worker 1 + worker n + port 0 + port 1 + port n + + producer 0 + + q0 + q1 + qs-1 + + + + port n+1 + + + test: pipeline_atq + + + + producer 1 + qs + qs+1 + q2s-1 + + + + port n+2 + + + + + + + producer m-1 + q2s + q2s+1 + q3s-1 + + + + port n+m + + + + + + + + + + + + total queues = (number of stages * number of producers) + All workers are linked to all queues + eth port 1 Rxq 0 + eth port a Rxq 0 + eth port 0 Rxq 0 + + + + + + Event type Atomic + Event type Parallel/Ordered + + + + + mt safe tx? + + + + eth port 1 Txq 0 + eth port 0 Txq 0 + eth port a Txq 0 + + + + + Spin lock + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr a + + diff --git a/doc/guides/tools/img/eventdev_pipeline_queue_test.svg b/doc/guides/tools/img/eventdev_pipeline_queue_test.svg new file mode 100644 index 000000000..4c096bc86 --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_queue_test.svg @@ -0,0 +1,3292 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + +   + + + + + + worker 0 + worker 1 + worker n + port 0 + port 1 + port n + + producer 0 + + q0 + q1 + qs-1 + + + + port n+1 + + + test: pipeline_queue + + + + producer 1 + qs + qs+1 + q2s-1 + + + + port n+2 + + + + + + + producer m-1 + q2s + q2s+1 + q3s-1 + + + + port n+m + + + + + + + + + + + + total queues = (number of stages * number of producers) + number of producers + All workers are linked to all queues + eth port 1 Rxq 0 + eth port a Rxq 0 + eth port 0 Rxq 0 + + + + + + Event type Atomic + Event type Parallel/Ordered + + + + + mt safe tx? + + + + eth port 1 Txq 0 + eth port 0 Txq 0 + eth port a Txq 0 + + + + + Spin lock + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr a + + diff --git a/doc/guides/tools/testeventdev.rst b/doc/guides/tools/testeventdev.rst index 11e608b74..527798b3d 100644 --- a/doc/guides/tools/testeventdev.rst +++ b/doc/guides/tools/testeventdev.rst @@ -468,3 +468,177 @@ Example command to run perf ``all types queue`` test: sudo build/app/dpdk-test-eventdev --vdev=event_octeontx -- \ --test=perf_atq --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0 + + +PIPELINE_QUEUE Test +~~~~~~~~~~~~~~~~~~~ + +This is a pipeline test case that aims at testing the following: + +#. Measure the end-to-end performance of an event dev with a ethernet dev. +#. Maintain packet ordering from Rx to Tx. + +.. _table_eventdev_pipeline_queue_test: + +.. table:: Pipeline queue test eventdev configuration. + + +---+--------------+----------------+-----------------------------------------+ + | # | Items | Value | Comments | + | | | | | + +===+==============+================+=========================================+ + | 1 | nb_queues | (nb_producers | Queues will be configured based on the | + | | | * nb_stages) + | user requested sched type list(--stlist)| + | | | nb_producers | | + +---+--------------+----------------+-----------------------------------------+ + | 2 | nb_producers | >= 1 | Producers will be configured based on | + | | | | the number of detected ethernet devices.| + | | | | Each ethdev will be configured as an Rx | + | | | | adapter. | + +---+--------------+----------------+-----------------------------------------+ + | 3 | nb_workers | >= 1 | Selected through --wlcores command line | + | | | | argument | + +---+--------------+----------------+-----------------------------------------+ + | 4 | nb_ports | nb_workers + | Workers use port 0 to port n. | + | | | nb_producers | Producers use port n+1 to port n+m, | + | | | | depending on the Rx adapter capability. | + +---+--------------+----------------+-----------------------------------------+ + +.. _figure_eventdev_pipeline_queue_test: + +.. figure:: img/eventdev_pipeline_queue_test.* + + pipeline queue test operation. + +The pipeline queue test configures the eventdev with Q queues and P ports, +where Q and P is a function of the number of workers, the number of producers +and number of stages as mentioned in :numref:`table_eventdev_pipeline_queue_test`. + +The user can choose the number of workers and number of stages through the +``--wlcores`` and the ``--stlist`` application command line arguments +respectively. + +The number of producers depends on the number of ethernet devices detected and +each ethernet device is configured as a event_eth_rx_adapter that acts as a +producer. + +The producer(s) injects the events to eventdev based the first stage sched type +list requested by the user through ``--stlist`` the command line argument. + +Based on the number of stages to process(selected through ``--stlist``), +The application forwards the event to next upstream queue and when it reaches +the last stage in the pipeline if the event type is ``atomic`` it is enqueued +onto ethdev Tx queue else to maintain ordering the event type is set to +``atomic`` and enqueued onto the last stage queue. +On packet Tx, application increments the number events processed and print +periodically in one second to get the number of events processed in one +second. + + +Application options +^^^^^^^^^^^^^^^^^^^ + +Supported application command line options are following:: + + --verbose + --dev + --test + --socket_id + --pool_sz + --wlcores + --stlist + --worker_deq_depth + --prod_type_ethdev + + +.. Note:: + + * The ``--prod_type_ethdev`` is mandatory for running this test. + +Example +^^^^^^^ + +Example command to run pipeline queue test: + +.. code-block:: console + + sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ + --test=pipeline_queue --wlcore=1 --prod_type_ethdev --stlist=a + + +PIPELINE_ATQ Test +~~~~~~~~~~~~~~~~~~~ + +This is a pipeline test case that aims at testing the following with +``all types queue`` eventdev scheme. + +#. Measure the end-to-end performance of an event dev with a ethernet dev. +#. Maintain packet ordering from Rx to Tx. + +.. _table_eventdev_pipeline_atq_test: + +.. table:: Pipeline atq test eventdev configuration. + + +---+--------------+----------------+-----------------------------------------+ + | # | Items | Value | Comments | + | | | | | + +===+==============+================+=========================================+ + | 1 | nb_queues | (nb_producers | Queues will be configured based on the | + | | | * nb_stages) | user requested sched type list(--stlist)| + +---+--------------+----------------+-----------------------------------------+ + | 2 | nb_producers | >= 1 | Producers will be configured based on | + | | | | the number of detected ethernet devices.| + | | | | Each ethdev will be configured as an Rx | + | | | | adapter. | + +---+--------------+----------------+-----------------------------------------+ + | 3 | nb_workers | >= 1 | Selected through --wlcores command line | + | | | | argument | + +---+--------------+----------------+-----------------------------------------+ + | 4 | nb_ports | nb_workers + | Workers use port 0 to port n. | + | | | nb_producers | Producers use port n+1 to port n+m, | + | | | | depending on the Rx adapter capability. | + +---+--------------+----------------+-----------------------------------------+ + +.. _figure_eventdev_pipeline_atq_test: + +.. figure:: img/eventdev_pipeline_atq_test.* + + pipeline atq test operation. + +The pipeline atq test configures the eventdev with Q queues and P ports, +where Q and P is a function of the number of workers, the number of producers +and number of stages as mentioned in :numref:`table_eventdev_pipeline_atq_test`. + +The atq queue test functions as same as ``pipeline_queue`` test. The difference +is, It uses, ``all type queue scheme`` instead of separate queues for each +stage and thus reduces the number of queues required to realize the use case. + + +Application options +^^^^^^^^^^^^^^^^^^^ + +Supported application command line options are following:: + + --verbose + --dev + --test + --socket_id + --pool_sz + --wlcores + --stlist + --worker_deq_depth + --prod_type_ethdev + + +.. Note:: + + * The ``--prod_type_ethdev`` is mandatory for running this test. + +Example +^^^^^^^ + +Example command to run pipeline queue test: + +.. code-block:: console + + sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ + --test=pipeline_atq --wlcore=1 --prod_type_ethdev --stlist=a