From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0058.outbound.protection.outlook.com [104.47.41.58]) by dpdk.org (Postfix) with ESMTP id D71E71B303 for ; Tue, 16 Jan 2018 18:48:46 +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=HVpAXfXb7JnrMlMc67FkddYqA8/TknRQGz1vtWXaWQI=; b=TBGU6zvgmCTqk/kno0nf6nEzvscKWfUHBeIVE5dZFDaIFH0empcsPR6JTHcz3xyXVoC/elKP1ZdUaZPi1zRP1Id2GEds+Lzi7BnWojPsHKU95Zj4D8K2AY4A6QYp9Cy4+EAsvIs/au9m2DQ5bbsAoSoo3717ut8dvNb9SfJh1oo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from localhost.localdomain (111.93.218.67) by CY4PR07MB3464.namprd07.prod.outlook.com (10.171.252.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 17:48:37 +0000 From: Pavan Nikhilesh To: jerin.jacob@caviumnetworks.com, santosh.shukla@caviumnetworks.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, 16 Jan 2018 23:16:05 +0530 Message-Id: <20180116174607.10821-13-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180116174607.10821-1-pbhagavatula@caviumnetworks.com> References: <20171130072406.15605-1-pbhagavatula@caviumnetworks.com> <20180116174607.10821-1-pbhagavatula@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: HK2PR02CA0158.apcprd02.prod.outlook.com (10.171.30.18) To CY4PR07MB3464.namprd07.prod.outlook.com (10.171.252.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5a63c183-4bab-4ba1-5792-08d55d096179 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:CY4PR07MB3464; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 3:/c5WhIvcY0ru1wPmbb/f6lxjGyUc3E74LXxfaSJ/dOsVc7f3zIqSagTCzzaI424FL/RF9Mqh7Kky9WOT35rYPp3hOy1s8ZU76cPOr5uUjxwgdsEblKc+Gp5a2GrGRHnua7FsaPI3eVTniUgdUG5IZC54Fxz66CM4VEzmTgJLf/EzYn7w8HJq55h3/mRnHHDhjRcp9tfM6di66XG2/rg6p8WzKx1ssCeLqkbGpy0xJSVkvB9KApAnY6NBMq9WO86P; 25:azcXh6VfpvSbR8sQ75eznatIjQ/NggRph3cGZ+rOmB3jv5ZiQwP4wCt+9tdIeXOKDqayL88ozP10TMmU3gFQ9S5otrs0QrYsxx/8nW0OoVGy5Z4LFXmvjHTQOi4zO+g41s+rnvIXkZWKdjXoDjU6oB8xGun+Z/ksbm8tED9ewH+2kkJlgXMnKFb0JXPecIJXFApLCeYoOyui+uIushz2SO6ROT3KJ/Y0zXamxyb6elw9dIRmfns6PdofjmY1TjRtHtqCc9loGUTlnjX+FyQ7wbWX+qxxHnkvpqYngUJjaRAuGHttT4JfW+6RGDfdeT3YNUBFNw88eiIgwW5ZzjDa9A==; 31:EAvZPDG3rIxE08hXe+yQWknHTHY9cZqTH9t7CYm56M30qlHxJ0z+Ds+okBpYP1Xkq0eDK92K63u2wIRyEla56FNHHfAByejpAxyMYsbVEeJ/c6r1UzkwGuPuJ8qqPneVtFh7MqLOOSKwPd6uxikWP1T3pOW2TXN5YS1O64EUhKj8pL5zRLndj23GdETbdnDsCGa3yFwN/RIgBPebthNFtfXZzwbkszomnSnmP5OvM/w= X-MS-TrafficTypeDiagnostic: CY4PR07MB3464: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 20:iZAdU8oJAXNdbQuRSlWEx4X0DfQxn3v+8pBbLnBzaHsO+g7+JEJnwI2HIqemWLLxnjnNVS/8JnArL1vugO/qs+uACnPx8A79ziFcgbkhLCfEFGX1COPM/I75S+XuctAu+1R5y32U+GMgd4Uhf2XCEkMqkYHd4E4ys035swQ36c+O2piaArYx1uF22eAungnsJyi+4TJ4KoMELks6Vz4oyEKRZ+ePCTEM+qMmrIHNsqk8YA8zFJm/wmuMLffyuCWFyLGTK0w4WyovPdiggZoUAXALHubNnmmqj1RThUW3/4CYzkOIpc7y7GwEZAvDW3p5G9OOfQziIJWBKM//VMHid+USiOSgqcyiWxnfcCoVbFuIzYulzbSljmhYbQfOmcXX/Ie5c5SwZxGQy6ZYS5CVLpQ7bVJ2Jv1v6Il851TsemLKOsTesMrb9iZZp4c0jQdkXobvcRkWY/gyLyvoHJj3OjQavAt2BMvhZFFwHiNW/8bjewjsGqyyxmRKwzRGE+m5Bj5zqzhkRm1npIC/r9Uo5Nkx0beS/m9bcuSU37zv2sSKkEB6uRRkBbrTSHOK8Vu6ZSIcaXsdhKKy+RHeLY5KJkniV+OlXdEYZRz0JtQcZl8= 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:(6040470)(2401047)(5005006)(8121501046)(3231023)(944501161)(93006095)(3002001)(10201501046)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:CY4PR07MB3464; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY4PR07MB3464; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 4:OrySKIAWvQtj8M1PyYpyycms4+Q6T2Vjx6yBS/Qm5Wyb4lqfCF/q7j24d6tYyGes3Vt8v4/Y7PRFGT0VigBTeUIcHe3hNnf37FuWMrVqsUeZ4ASE7Jcnibrfz52TxNtsSd0M7PpYEkX27Q3E4HtwWyMOQTpnguJJDF/A61NPH1m1rAtdfkN+RApyUM38JQa2SLRo2/XzVW+4Agn5U74O3mzBAyUstShpIEZuZSeVFynDWMSixeywQTStdirSNzYB3BfcHroJBslrt5JlRNro1K0WG7uoT3FgHQCC6f6YntxOaDBKaBUEKEFxuhMw8otvX0OzttQByt6AHNFmRkLeQQeoONIP8kzBnJigfZTrF3Jlk5OPSiLJ6jFbvNEwZ/fzYHizOCDSVMv4GPxgof8Yhc5GTxv8QzBil76wc8oFa94= X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(346002)(366004)(39860400002)(376002)(39380400002)(396003)(377424004)(189003)(199004)(81166006)(97736004)(8676002)(6116002)(5009440100003)(52116002)(305945005)(8936002)(107886003)(1076002)(53376002)(51416003)(81156014)(25786009)(8656006)(4326008)(19273905006)(575784001)(50466002)(6486002)(5660300001)(3846002)(7736002)(50226002)(16526018)(68736007)(106356001)(26005)(76176011)(6306002)(53936002)(6512007)(59450400001)(47776003)(48376002)(16586007)(386003)(6506007)(53946003)(16200700003)(66066001)(72206003)(2950100002)(36756003)(2906002)(105586002)(478600001)(316002)(6666003)(42882006)(42262002)(562404015)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3464; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3464; 23:p2RtJlDzm3f/qI15ZokV+dD7KXUdq82jXnjui+ZB9?= =?us-ascii?Q?Y8He8XCDsEj25z5YCW9csuyfVzKTi36psPKWH8o/NroBrRtPlczAJQWUiM+J?= =?us-ascii?Q?WcVDgAq+5AQbaLNEPH64jSx8HWkFr1vn4Pkzm5uaqj3HJCSyQ7w0CfN6DT5o?= =?us-ascii?Q?HCNkLBxR/QQVdeurGxcGyKqTsc8Wv+x/jMI1Lh+E1+J06fi8VlmJdATICxEj?= =?us-ascii?Q?pJf9xLleKW6HqyRgu+3UZEhbDvWO7Dat2+nzkTEtuMwRrz+3pcO3kWb72wG9?= =?us-ascii?Q?B7vrfwlOjzVPMA0WeKSU8Xo1l4+x7ydbkgT4JGfUYufEH8wjFT4tvnFtc0rw?= =?us-ascii?Q?D3tF0MhlqE7xemRqmOUa0GNm8Yom9ru851NuyrSwUOebF9RfPAdvy3D/RXnh?= =?us-ascii?Q?AU2D4a1p7XfvPyo1bev6288tGRXwEatmGO1NT2LvmPISG/Wo4HXcsCeq5hEK?= =?us-ascii?Q?GSV2G4T/TwmPMYqUqQX5EG8FnyhXkLsSOpeuLmVB1FCX0igwkL3nYIoVBGtI?= =?us-ascii?Q?/ni+BPiT1gawkWB5UD2Qfm1LqFNKE7RDT89vrSKXG5Tok2o6uqnnjN+DvqTZ?= =?us-ascii?Q?Uk7+1jPnZBG1EM1eD2hI+mtR4PTFUccobBzaqovK4HvCmKWjPOK507nIeBim?= =?us-ascii?Q?5Dkf5mwkVIrn2St5kIx9dyOAqm8xfh4UEMGbqQLb3v8R3iSBqHjCT1Pxs0Px?= =?us-ascii?Q?d+IUhqVfPzC8B3SqlvXSyIbW4QpLU9BPUFrqLx/00N+nLuKIa+p71Fz/HGte?= =?us-ascii?Q?2pntIggeNPJS62b0ih4ww81F1enlc3CfK7fo9crH+ETkYRCd8efshbjN35d3?= =?us-ascii?Q?IEL6XfvbkRSr1LS+wReDfmi1z4/B+kAK7NOpx/W0fEQC10xIrVWzqMyJWCcc?= =?us-ascii?Q?uzez8yB/EC5KfjjzXW1Zp9zCibHVsHHK37wyUuqxR7EWZbD6U8ndxagvnFei?= =?us-ascii?Q?80Hg3YbhkUe/ysbNPkhGnW+kMtEFG/yYXAeNdl/rimDl2qqK9wMxMgPKT/KK?= =?us-ascii?Q?9mns2Bg5sbt16GD7Sr9rVOpTil22vNOOYeODTzEfROCHRppkqpIgbROJDz07?= =?us-ascii?Q?/YdsJITNb+Saedn+6jsdZyc9a3AWDtfimDE1ItKn20LFqOBk85Guyr4STaTw?= =?us-ascii?Q?+8QWQ267r1YXHFw1BnNQd4h9V6zfhYMBFhmxJg2D/M9/I8VFcAjnW2NbShNe?= =?us-ascii?Q?CLilxNMjt4/E1nAA1bJyBPLbrE9Lbf/He79C+5kH5hxWwkxxb2m+nQMk5BUN?= =?us-ascii?Q?toG2P5P99KFH+Gc5Y1od3BYcqOlkBL/4mIgSnAVnVDtasCLzN3iEdcATWnlV?= =?us-ascii?Q?TX6fdGbbgYHqj9YIkA+89w120EKK97jL+PZuLkUOrfH7D/b+lbSaBr8YSZE4?= =?us-ascii?Q?nSAdoAOGe5cl8E5YPs/wDobhj3MOsPFuXxKcnI2lciWU+kR6EDY7h7aaU05L?= =?us-ascii?Q?ah6YDsAeQAdmYpHZyF7ukj2Gl9b1jA=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 6:ZSrzyhX8xDeFSl9eCOm4BbvtgJeJ8vH2HZJYY/l7/cYwmyATmEh8seQLcQb7Vg/9Nf3Xk18x4e/S4ApeOdvfSJKfT48Z2TMaasK2MCtmLTebUiVY7tkVMocUw4kGZnKGgtVvpeijAd0A306ySyIE4tRRHvVcbwoqgpHfjgs/haZpxt49ey1nMcV34Pg+rp+1JxeWqgpeV2W409q+7aH0Z0GsR1fal3vfLpLyFa4BHKEWGQOAGQraZ4ELbbZh/0St7AXGe2NOBhxeRJ7uiHJ3SYQpq/8Kjg/TkXt7bWhO3rF4N2Y0t6TmJpsTHLPH6XqDZ5EE/0ml4AfFipjQoqIYDfWAB/V6W5gkNhJXk7Ffdf8=; 5:fayFEg10wFC9RRS3dt1eTo8BB/Dkr2EkuPXYYIomb9lTCTn4DGBsMhc9stDkxKQd9W5a5kgLwBcAlB/1/A7mEW3yZwrQWJs2wfwi/238xp3n3zqAHAa2NK98NXAxL04ev4LnPFjJIk5DgOlImtZipbBbGtoSjoYcHu1dw8hQJ/c=; 24:9O5Xlqd5YWZcbXGMre1Q1a8mOiCD8qpuHQgRQ9CilVFhQeTodxjCxxSwmY5SZoCExRqAR+UO5w50kSLjW840Bnsy2gp1IsF6fjdtkfonKLE=; 7:0IaxMeAJkpjk1h/ulqNMpjDGZ4/jH3cW2a7uah5Bshtlj+/emT87BVMRe6s+HjtGLOhfCfZnYLQEz8X6f/yUTp8wVUDdrp8R56XX0/XTB6new7Sl7EoP7MAkRWkY2kazAqOY9PbRAP4F3OWFoY+/sGS742rYL5OMuNC/3OxXQ2Ne5QSX8mS3qivn2Ep6czCQIOjR5PEY1X/dXrt0mNsGz00aLCdxMTxAqpdOKFSU5Ne8g7q5xSgTMISj8c9MxOIS SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 17:48:37.4067 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5a63c183-4bab-4ba1-5792-08d55d096179 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3464 Subject: [dpdk-dev] [PATCH v7 13/15] doc: add pipeline queue 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: , X-List-Received-Date: Tue, 16 Jan 2018 17:48:48 -0000 Signed-off-by: Pavan Nikhilesh --- .../img/eventdev_pipeline_queue_test_generic.svg | 3548 ++++++++++++++++++ .../img/eventdev_pipeline_queue_test_lockfree.svg | 3826 ++++++++++++++++++++ doc/guides/tools/testeventdev.rst | 106 + 3 files changed, 7480 insertions(+) create mode 100644 doc/guides/tools/img/eventdev_pipeline_queue_test_generic.svg create mode 100644 doc/guides/tools/img/eventdev_pipeline_queue_test_lockfree.svg diff --git a/doc/guides/tools/img/eventdev_pipeline_queue_test_generic.svg b/doc/guides/tools/img/eventdev_pipeline_queue_test_generic.svg new file mode 100644 index 000000000..732d48867 --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_queue_test_generic.svg @@ -0,0 +1,3548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + producer 0 + + q0 + q1 + qs-1 + + port n+2 + + + test: pipeline_queue + + + + producer 1 + qs + qs+1 + q2s-1 + + port n+3 + + + + + + + producer m-1 + q2s + q2s+1 + q3s-1 + + port n+m + + + + + + total queues = (number of stages * number of ethernet dev) + 1 + All workers are linked to all stage queues + eth port 1 Rxq 0 + eth port q Rxq 0 + eth port 0 Rxq 0 + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr q + + + + worker 0 + worker 1 + worker n + port 0 + port 1 + port n + + + eth port 1 Txq 0 + + + + eth port 0 Txq 0 + + + + eth port q Txq 0 + + + + Tx Serviceport n + 1 + + + + + + SingleLink Q + + + + + + + + (Tx Generic) + + diff --git a/doc/guides/tools/img/eventdev_pipeline_queue_test_lockfree.svg b/doc/guides/tools/img/eventdev_pipeline_queue_test_lockfree.svg new file mode 100644 index 000000000..c0a365c7b --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_queue_test_lockfree.svg @@ -0,0 +1,3826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + producer 0 + + q0 + q1 + qs-2 + + port n+1 + + + test: pipeline_queue + + + + producer 1 + qs + qs+1 + q2s-2 + + port n+2 + + + + + + + producer m-1 + q2s + q2s+1 + q3s-2 + + port n+m + + + + + + total queues = (number of stages * number of ethernet dev) + number of ethernet dev + eth port 1 Rxq 0 + eth port q Rxq 0 + eth port 0 Rxq 0 + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr q + + + + worker 0 + worker 1 + worker n + port 0 + port 1 + port n + + + eth port 1 Txq 0 + + + + eth port 0 Txq 0 + + + + eth port q Txq 0 + + + + + + + + + + + + + + qs-1 + q2s-1 + q3s-1 + Atomic Q + Atomic Q + Atomic Q + Stage0 Q + Stage1 Q + Stage2 Q + + + + + + + (Tx Lock free) + All workers are linked to all queues + + diff --git a/doc/guides/tools/testeventdev.rst b/doc/guides/tools/testeventdev.rst index 9785e8431..33fe5e730 100644 --- a/doc/guides/tools/testeventdev.rst +++ b/doc/guides/tools/testeventdev.rst @@ -441,3 +441,109 @@ 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)| + | | | x | Here value of x is 1 in generic pipeline| + | | | | and nb_producers in lockfree pipeline | + +---+--------------+----------------+-----------------------------------------+ + | 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_generic: + +.. figure:: img/eventdev_pipeline_queue_test_generic.* + +.. _figure_eventdev_pipeline_queue_test_lockfree: + +.. figure:: img/eventdev_pipeline_queue_test_lockfree.* + + 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. + +If the ethernet has ``DEV_TX_OFFLOAD_MT_LOCKFREE`` capability then the worker +cores transmit the packets directly. Else the worker cores enqueue the packet +onto the ``SINGLE_LINK_QUEUE`` that is managed by a Tx service. The Tx service +dequeues the packet and transmits it. + +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 -- 2.14.1