From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0064.outbound.protection.outlook.com [104.47.38.64]) by dpdk.org (Postfix) with ESMTP id AC7E2A84C for ; Fri, 12 Jan 2018 17:46:14 +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=81ncniuf26BGNhBLfDzOBRL2qYGZzuhqARYQ5mtacf8=; b=Eqk3LRSFf0L41CiO9U8+wtMzqPqOdzocASwxYbGy7zWchYLoureeENai15nuuuJk8WtpieJT0K8LgfUxvJFFY1jIUm+Y+Xeq2+moBFinENi9bHat1TVzdXG5EZuV0OKl8AG5pWsb/tzF4ALCdnJuBNqJN7fFrbc4FHaIdLbxfA0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from Pavan-LT.caveonetworks.com (119.82.125.132) by DM5PR07MB3465.namprd07.prod.outlook.com (10.164.153.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Fri, 12 Jan 2018 16:45:44 +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: Fri, 12 Jan 2018 22:14:16 +0530 Message-Id: <20180112164416.21374-13-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180112164416.21374-1-pbhagavatula@caviumnetworks.com> References: <20171130072406.15605-1-pbhagavatula@caviumnetworks.com> <20180112164416.21374-1-pbhagavatula@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [119.82.125.132] X-ClientProxiedBy: YQXPR0101CA0023.CANPRD01.PROD.OUTLOOK.COM (52.132.74.164) To DM5PR07MB3465.namprd07.prod.outlook.com (10.164.153.20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4f6a8a04-3dca-4f2c-0b92-08d559dbeec0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020084)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DM5PR07MB3465; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3465; 3:6Z3k96B0NFHLvQEye8q/COa9Bd2+a5efOSEx+103jOm1Mg9sCDAHTiKfl7B6Lk3wARognBOGmM1r9QQ8CX4PnEQSiLlPBYhsrT9iNX0HNTJHLUwdFqO7mwte1AIjzzu2hz+AhlsGWacIg2n3p70itDSRmkJgTvnHPDO4nuRCP9PW6txRpr9mLti8HRphCzWXcGicrg/gKT0myF5OpgVmX/WBw1YQH47jk67bvDPwjPNNraFSQT8stR/Bh+Y8E8UP; 25:5nqZb2+fob+BfF1S867m8N2ZDJR5knujXCNGNMVnhLMsHMckGxjxaHpH6yao+GXELX8jE4enn5ZxMl7FkIw49RqLCa4IQKd/nMAOPcVSKEZa6fYsG4e2E0bGbWHXBKfWFRwk5CsqPRSd98MCJlfuCIvNRVKoTrLHMzRhE9Lil3BT+3jbXSOgZ+EVm592RFrA/x+pGP9tbmn6o0KYQUVPGBnumY+/rn7oOHrhauPUlXV/fJh3ADqIAYbo2g5lOD/6ob5O9n3MRrStlubQDZcE1h+/xzOhhFvisdkj7IpYcJxRxID2v3uJIRWlau1ZtDZNZRMxozle3QkEhnm4xIRJlg==; 31:0ECuI79WYKZdD18+p0zo7LV/sEHBQ7PKtemDvvXae7OLm+3lBoOKsOwDNXSRtZTiWlo+HI9Lir/VR7t+sC7n2o5XJCoCsNK4OTod1X5WvUYdOT5PUyBZe7IAxW9P/3UrJftMed/6e14Yh+psisYo7+BZMn90GJxe2sj2IrQO0I3FUF3mIU4jnHXe7Ba6FnVStyD+GGKt5xxZqLVlpnahNFBXOoijm3i2HoS0fJVN7Mo= X-MS-TrafficTypeDiagnostic: DM5PR07MB3465: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3465; 20:JBu/MfVq++G66OiwPyMk5khx+o9nZqkLX45BZNgKfQz03ICWXpLg1d/2Lc5giOSmI3g7xaxxIG81KFNKImglw4cJkuxJS/uZ7lrajoTuES1mm/BREFFqhkUlzMU+/8bxwbOYa3i7lumTAZs4BhGdDUK5ym7DvD91z6q0MhwDtNM9O7oD2JL4ZWptZYo+hnqTK63UMuUqUvGy3F712uWVb24g7Ik2dYbonCohzP1iGB9r8k1dAexo302hka7o4HDQiTB/U07QcEGxoquBAK5abJ4FDf4RpS8DQdFJ+vfdqshCjzz8hDMnn1MmTxqj7DazQ4zx/SRGH0Ah2eWzOqMvQFySMA+392IhvE+rLIfRH3EVeal9AsuHFY99cH/40AR4f3J2rMg3bF/suqqe4r5wO2XvIzQtrpck0pTzR3O0LC4wfDXAYC/UZw2U85/yDB4HG7BP0bUlj/OWGeLGhY4ifCttUcrB5UCneCGmVyAthkJxcnjLWQuNxTofrFAMeea1rMXmHn+NQdytA16YjqhqrAfdGkx+hlHmBDaCEcXfJ3Tg5sfzURbwvEO7d6yr+Sqzkl0F2cGIlhGdAoxmnQHRhu06seT1167Deic+T67bJSg= 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)(8121501046)(5005006)(3002001)(93006095)(10201501046)(3231023)(944501145)(6041268)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:DM5PR07MB3465; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM5PR07MB3465; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3465; 4:emBXDVSzB42wCigCkXLidd2WLjsuILJZJhrNZxgIb88TX/2CIip96Kd6W+ZIyeeUfVkUDv26BBwdNoj1yZoSN7h6H+hvqejM1e1LgK2aqrVVIaDyZXzzlw3+1OP9vp8uqCG054y7jKQTusHQh4NpTXPPvwqq0wCSXj1UysxDTVL0IDUc30F+/b10hLhDrGFT6XoxyvJI/50ADrUMp0hoLLwIpYzone5TVD71CRgsVMA8tx3ABNRis/rPEyfVXhSAD/X/U6SExBlnu8OVIp5R2kBV/UOfxvZMI7Dtgtq/IQ2RFfRBDf4nNJHItxelKXp4D1kk/vP6W+k5bUsvxqPtuIH82JykYVyc43jI6wkiG17bWYZR3blyl/Y4sAnVSWUApxw1GHXpJaPz0Fzsl/j0y81hbo7k5iD0y61irYdupNs= X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(346002)(39380400002)(376002)(396003)(366004)(189003)(199004)(377424004)(50226002)(76176011)(16200700003)(8676002)(6666003)(316002)(53416004)(53946003)(81156014)(53936002)(69596002)(81166006)(59450400001)(386003)(16526018)(23676004)(2870700001)(52116002)(6506007)(6306002)(1076002)(6486002)(2950100002)(105586002)(66066001)(6512007)(50466002)(106356001)(47776003)(4326008)(5660300001)(53376002)(3846002)(42882006)(6116002)(7736002)(68736007)(97736004)(8656006)(478600001)(107886003)(8936002)(72206003)(36756003)(2906002)(19273905006)(305945005)(25786009)(562404015)(42262002)(559001)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3465; H:Pavan-LT.caveonetworks.com; 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: =?utf-8?B?MTtETTVQUjA3TUIzNDY1OzIzOitzNE56dGxNUi9mNWt0cElHRUtMRVoyZjl6?= =?utf-8?B?TytQUnpzakNtRlcvRk5TdkJUdU5pWWVQOG9mcU9OQk1SbHIrckdtaXp0YlF3?= =?utf-8?B?VERGd3NEWUFqUzJ6WVJ5b3dYZ1N1RFlDMEtBMnVJeXJMZzN0a0VwSTZvTkp0?= =?utf-8?B?ZlVyeU0rZjc0aFFRb1NuTFp5OGxpWm1iUmpieUg1b0pzVytGclkyTGN6S3cr?= =?utf-8?B?UVpQR0kwd2FESUJmUUkzWm5saGpXYXFlTXFpTHQrUGVOM0tKSDl2YXhsRmN3?= =?utf-8?B?WCt3eXZVMzZLUktiM3g0bVc0RmExdTNEQXRFTW9QK3NaVUpKWENpTVVOd0t1?= =?utf-8?B?Y0g4S1I1QUF6bVNRNTE5Y2g4T0l3eWJtbWtrZUs2eEZJbUQzdHRwSmswdHBN?= =?utf-8?B?VzBXb2RzaUpLV0VzekhOMzBNWmxxVW1aRGhudHpzakJudzN5RmYzR1dBc29K?= =?utf-8?B?T21FNFFGZUpsSFpjNVF2eFZCU0h0R2w2dmExY2YxTWU1OWR6TkFaRG5JazIz?= =?utf-8?B?a3d2V3FqY1k3c3F3MTJuWEhKYkVrQUFqNWc3L2dOQ1dwT2xKMWhBSXZpM09t?= =?utf-8?B?YWIyOEQxR1pVdkNtL0xvejdYaUN6OFMrRlMzYWVTZm5IN3hMcVRqbUdSa1I4?= =?utf-8?B?ZnRaQ2ZrMDF4TXd3ZHpPc3ZkZUp4SmVEakhCc1kwRWM1cVhKbk9UbER4eTRq?= =?utf-8?B?aHlPSExhZi9rR2drQUxIZml1T1MrL3pBNmVBaDN1UUIzSW42RFk4V2VHVUc5?= =?utf-8?B?NXhVc1FHUXE2RGdLUmxtcjJQOWc3eE1WYXFhTFJselNaRUhMQ2gzN1lWNzg1?= =?utf-8?B?bEQ0VjFQVUlIdVpXQW9uY3puZzBZQk5hTGxFMHFRdkJEQ2ZkK0dRS0JKT3FB?= =?utf-8?B?dzlWOThlRFJiMG1hUHZZRUQ1T0dKSnhSMDQ5VjN4dEpLbk1SUDYxOXJQb2ZK?= =?utf-8?B?UWdJQ0lMVTN5NmVtcVplaG85Q1hCbG0rektqQmZ5aEp3eVBHblVyNWlBVFpO?= =?utf-8?B?Y2Fwa2dFYitiV2JOazNwOUUrY2N4MHlQdjgxUmNnUjZVY1cyS0E2S2pmZkdI?= =?utf-8?B?TlJKaDVRamdSWlBFa3NqcGFzZWNnTDdlWGpuN2tIaFhWQXlBVVlpUzFDMWZo?= =?utf-8?B?aTNqZ25LWkM5dmhhR2NiTXoyUVBEcHM5QnNaL0ZPN29wMk5mT0h6TmRxa0pF?= =?utf-8?B?ay85QVpPYzE4Ti9VcDd2M25YTTRpbWVnNUFEMWhvSUtvbVlDTHJTaDM2L09P?= =?utf-8?B?a0RKeVV1TDEvYSs1dXpYRG1naWswZ3ZwY0xtR1ZwMU51bWJIMXJRSmZhZkNk?= =?utf-8?B?RzdEaTlKTGsyUmxYcm94Z0JPZ1MwVUgzNjZ4VFM4SlhkWnpWV0JlRkNGbVdC?= =?utf-8?B?TlJYNXZBNUZNaUFOUjZjemF5dVRsSWlSS2xnalQyc0NTaU9UOXl4b05Xdm5L?= =?utf-8?B?Sm56ZTJKTy9XSW5ES1c5UTBFOVhZZVo1ZFZRUDlqZlA4MDNZT0ZlQ01tanJn?= =?utf-8?B?RDNvb21MRkhwQUZZV1RWZHRlZTEwdEcyOUtvMUFwZUUyUGx3QnFIOGkwUVRV?= =?utf-8?B?TTl5WnkwcGtWZFRXTkl2ZEI0YjFLOHF2ZHRlcmJWOGRrZkpWdFp4SE5ZbUov?= =?utf-8?B?dHhIajIwRk1neUVqdG43ZkhiQm1Ja2h0Z3lsclhRNmJqUTlLR3EvUnZiVFpq?= =?utf-8?B?UTNFdlRpUkJOcmZtTUV0L1l3TWFZNCtBV0dsaGorTTlzOEh5eE9rUzhPaHUx?= =?utf-8?B?Uzh4STd4ai9ITmcreitnNDlER25wNEFhVnd6dFdPelBxR1BPZWpFWXp2Vlhh?= =?utf-8?B?dndKYmFDMDBzS1BOV2lTdllITFV0NVRqOUpuSlZZZ3RHZXdsUFh2NjZaYjVN?= =?utf-8?Q?gTtMKZ3g9CF2PfAkLkR3oN+342swhh6K?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3465; 6:mthal6QPjM35YP+Or+TSmfeAS6uXK1IpwaB7sgvLPuUzWIe9MPhlbkCBCRJeGk9y0Za/lZd62DhO3NJxy8K1dQueXdnQHJ3QAFhND4W5iJX3fPVTgN3vZBbJagkGGRKBtLDaqSkPMRN7pmRv+ZQtygaz6PieFpPQKv+moIeb/Coa7Lkn3i1rdzqL3IpBCBKXPPJn9xAFM+1L/29SS4fMr7kKCIDU3SepdETJR8t5PiHAySGrM/s/YJjKoRxFPAvUTWmjBTML7XeZ5a+Wx226IdQ2zC81Wj7Ko4euLwK8oie52ACgbQqes0C1XDQNLnhsb9Fm3SbeGlHKn0IXr3EALbITLKv9XQZkvNrA/A2kiwc=; 5:TyLLl+BO+SNPbty/AT5EqyjPjLFjYYWsZIMo4Jn5s5m4w5rCdc3L/8p03d9RYBPPw+6AIf5kpIb4sw/IUdG0zrbBh2UOD/XxKG+J3ab9Q7lzsgh3WmLlF6fRoO7k+qSTSGm56wCuybkiqB/ftVUUKWkXEcI+oA6HCF0MsH01JEM=; 24:Ci9+hYucNaj87ab6sFNfNPN8xJ8JYaaQh2Koo720a0Qzd4fRFeJj797o9mP+Cu5kWrndalvn/E5Ytzx/flhc6azB3mYSSyr4astE06Yd6ug=; 7:TDXoPUNXMMRrFbMvPAtCObnKLchUFrfVW03A5v4zJdXg5D3EBwk54Eze7Kl4d2ttvo5oq0M4b3qEdXvaj7GR5PzyfrJ9XRwrwOFsoBECou7ZF0nBJAjFY9LOnQja4rvpSq9Y7d9qHiFKAv93iFw8uB5nYMZLR7vzyj2Xvam+wLX2wIJAps2AxAomtKvDAMeB6G0yzAQOHejbGWfxg+QP5H9W6yybXgimTaIAIr85WNg4oHtsegU+VnaEBTyfRApS SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 16:45:44.9659 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4f6a8a04-3dca-4f2c-0b92-08d559dbeec0 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3465 Subject: [dpdk-dev] [PATCH v4 13/13] 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: , X-List-Received-Date: Fri, 12 Jan 2018 16:46:21 -0000 Signed-off-by: Pavan Nikhilesh --- .../tools/img/eventdev_pipeline_atq_test.svg | 3340 ++++++++++++++++++ .../tools/img/eventdev_pipeline_queue_test.svg | 3541 ++++++++++++++++++++ doc/guides/tools/testeventdev.rst | 181 + 3 files changed, 7062 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..b166bae3e --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_atq_test.svg @@ -0,0 +1,3340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + +   + + + + worker 0 + worker 1 + worker n + port 0 + port 1 + port n + + producer 0 + + q0 + + port n+1 + + test: pipeline_atq + + producer 1 + qs + + port n+2 + + + producer m-1 + q2s + + port n+m + + + + + + + total queues = 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 Parallel/Ordered + + + eth port 1 Txq 0 + + + + eth port 0 Txq 0 + + + + eth port a Txq 0 + + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr a + + + Tx Service + + + + + + + + + + + + Tx Lock free + + + + + + Tx Generic + + Single Link Q + + 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..51867f667 --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_queue_test.svg @@ -0,0 +1,3541 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + 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 ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr a + + + + worker 0 + worker 1 + worker n + port 0 + port 1 + port n + + + + + + Event type Parallel/Ordered + + + eth port 1 Txq 0 + + + + eth port 0 Txq 0 + + + + eth port a Txq 0 + + + + Tx Service + + + + + + + + + + + + Tx Lock free + + + + + Tx Generic + + SingleLink Q + + diff --git a/doc/guides/tools/testeventdev.rst b/doc/guides/tools/testeventdev.rst index 9785e8431..46467436a 100644 --- a/doc/guides/tools/testeventdev.rst +++ b/doc/guides/tools/testeventdev.rst @@ -441,3 +441,184 @@ 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 depends on ethernet dev | + | | | | Tx capability (MT_LOCKFREE). | + +---+--------------+----------------+-----------------------------------------+ + | 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. + +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 + + +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 | + | | | | 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 -- 2.14.1