From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0059.outbound.protection.outlook.com [104.47.41.59]) by dpdk.org (Postfix) with ESMTP id AF98D1B1C3 for ; Tue, 16 Jan 2018 16:19:00 +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=rPVIs6D8WoIICSrb9L+cjnPr61tKtqU+oNpN0eMonDM=; b=IjQDPzvXmfHmrh8ODAN4rESMStHII523jw5bz1NaCewLjGCy1tlVUYNsLTM23z2uu7PanZ7Lxj5DK+uLTvsbt4yQI/GJmPsjj4d/APoKZhV255Me53pCz19Qzw9orwBU+w1lDrhx7QMIzgG4BnioVCcaWGYquTh45FlC49iz/dQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from Pavan-LT.caveonetworks.com (111.93.218.67) by MWHPR07MB3469.namprd07.prod.outlook.com (10.164.192.20) 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 15:18:50 +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 20:47:28 +0530 Message-Id: <20180116151728.566-13-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180116151728.566-1-pbhagavatula@caviumnetworks.com> References: <20171130072406.15605-1-pbhagavatula@caviumnetworks.com> <20180116151728.566-1-pbhagavatula@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MWHPR21CA0059.namprd21.prod.outlook.com (10.172.93.149) To MWHPR07MB3469.namprd07.prod.outlook.com (10.164.192.20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6babe92e-a4a6-44b8-6473-08d55cf473c8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:MWHPR07MB3469; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3469; 3:iF1VMSpOjs2RlEc3X/gWsoHlYwAkO0LMrJgb67gmLiPGKtmJ8toLQssY7CbHisSmE9pFh7Gr+nPGtcgln7cH73ScXy6KD9wQIyP01UyVmRMTl3Y7MuKbn+S/RVCDd8DblryPUyJnPHVZtSPLL9L2vUeUPJHG7mQc/9OXUhmb8Xhu8nYZo5qqfx3vV0zzFKc6OKCytbgzTexgDuPbA7c6/XuVnzVQSmIRi/OBHyD/651+F4vAxFoGgHi8cSSz6IJ1; 25:d9E+ZWPfap7AGKeEYzVTS4zXUsZJY7+oScSZdndvxm+g90CmEdGgmwXFur3Xc5wBUifY7flx52/ju3oY4/hBFe1S2Yhr0IGdCUHaKlVAYYbOZpAhpw/T1hsV8xhn1+tsKZi/mK0xNx30noIIzXyFtAAap0ixWW3efwnmMgbDFUAIDba466rTW+phZgudA+Xi8dmkpi/3llQTDVMA8VLZPI2VN3f6sK33z0F8Y5bd4mEj6+KDEoZWlN5C1PVvpXEpAPrBh02cCM2gXILEGH4JHLfpJSvznfvQNEuYbW2C+VYTlu0gPsBhlHEDrN+6USBJ5YZSHb1ZWCbs4VlrPsggoA==; 31:7fJonMl6RHNLTpu6N23pSvWEqIhgPlgJJE4j5BbjzN7tEuXtBFWHo6BuQDcAOjaPeMAE+rmemYHzsZdaHix+j+FzmcNVD3H1/uD5ovk9Okg4pL8I6Aqjosrtl9DQ1mDd+aY6ez3o8CatEJ2Y2dW3aAPZ0nkMVTPRuL22c4BSTNjcEBRZ2X4vNLN09M8CcYB9XTOSfK4cw8CGlaAT4nE5VXM3pZEiEademoFFENLCWRE= X-MS-TrafficTypeDiagnostic: MWHPR07MB3469: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3469; 20:Fz6JbNZJdNT434eb0r5WkE/rlbQpjUs9gCW5FbVggy1Y3zuF5WRKsdUf4brNgEYhza/ElKdwZR51L2V9OOFfpPaVuVlCzbJt5PGuIpZ7iUHf4NkVLY8QO1zyCY3gPK/V5za6eo2ph73DIQNvjeUwHOvvTqFPYzmPMOs68tYeyhvqUKfYnhtwCnJhIYco86OBpa1FCZeyUjflpQOVpRbXRm1cAD7j3pZGyCS6KlLpJkpg2Bp5GOi1ib5QNHcWt/L6s97E2UIKBMHnA4WZmx1gOBTOVGuex2iqYEtgqe2cGBhjZVk3Fp7tH4ElwMHTO/tHCTgIb0rGUoU4Ow+m6SQ89s3evEm14kisVlDkKDl8XT7+5YKMhiBHvhpjzHeaJ/XL5rHeoOz+ECmPdigAoynFGNlpm7cZ7vp4ww5KtLPguP1YJwZwSWS+qf7eDbEvj2zhgPgrQ8ga/y9wkLONwl3S2/kTM5hEM12bKXZiNbb0ho0U39JA9HQPBRbVbj9jUzZZ6fmrJK6VAsfxBYxAYPx3iNO262SopQiHXky0eYg8qv+KhoojZKg0V4cFZ/qCIKdun5FB6VXIqvrW+WDGK152QYQECwa0SOFCYF0xo8DlDsM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(145185744447497)(159090696235961)(131327999870524)(42262312472803)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(3002001)(3231023)(944501161)(93006095)(10201501046)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:MWHPR07MB3469; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:MWHPR07MB3469; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3469; 4:16ydgvrZ/FAV/HjSqRfhi7icAP7RV152YTJ/O3VFjBAnIUKtmWf0kn+rZpIc5d32kH6NZGFUjp54gBH3elBKcISHzIxOR3XwzsSnRi6TKJDtX45KBLOWypviMZzpKhgH11OglmTSJ6JLTO1NDw0P6ikwnP1KSXbSNPTn8vaai3p5E/GLwhtqHhLBkS9O3AD8hDR7DRcQdHS3XYjr4Y1bBIRWdPKmvTB4HYU8F3TW8uSsSmM3c59B+W7jVCsgDs5GRHhD7AIpH6/npfJzCpmcfQyJ/urbm7B7TlLX0HnxswQlo6XSWBXM7P+T0Sy4BHf2SejUijM4dpGNgRSR7nPPkT9ufYv8fwmUVm85Tf3th08IDw/YiZ+KxBdktBqqkHZV6Ec/rmwd6IzhyBHLa4y0mLq+9l5uIaZPZmqDjGjVWiW//Ez9lUerh7jSL+/r277fFmv6Av2SSx0h4x2xpNLU7g== X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(396003)(346002)(376002)(39380400002)(39860400002)(377424004)(199004)(189003)(2950100002)(4326008)(42882006)(5009440100003)(6666003)(53376002)(107886003)(25786009)(68736007)(16526018)(72206003)(478600001)(316002)(5660300001)(26005)(50226002)(53936002)(575784001)(7736002)(305945005)(36756003)(53416004)(6116002)(81166006)(19273905006)(8656006)(69596002)(8676002)(16200700003)(6306002)(6512007)(53946003)(81156014)(8936002)(97736004)(386003)(6506007)(50466002)(66066001)(76176011)(23676004)(59450400001)(52116002)(2906002)(47776003)(106356001)(3846002)(2870700001)(1076002)(105586002)(6486002)(562404015)(42262002)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3469; H:Pavan-LT.caveonetworks.com; 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?B?MTtNV0hQUjA3TUIzNDY5OzIzOkRCanJLdThwY0s1eDNXakpXNnVLekJpeXNw?= =?utf-8?B?NmFUWXRpVzhGdTJyTWhvUnZWRDF6aCtmT1dTeE5QWFVwZ0NBVkVaMCttUytB?= =?utf-8?B?dTk2a0xqY3U0ekNkUGtKSVhDNWZIdm9yaUV2MVk3OHNUSmlvdlp1bzJSa1BJ?= =?utf-8?B?VlE3cWxvMDBRZjJuei91cW9qa3FDeS91UC9oRGtZT3lkZkw2aG5BaCtucjRV?= =?utf-8?B?TysrbjNUVDRxeDRjWkl3MzhUdjRscHl1V214bWNnd293THRXWnlNbnZTUFVF?= =?utf-8?B?ZGdEUHhhaWNTSFhrdnV4bmZhZHlHWXAzZVZvUUJ4dlJSMkpjU3ZCa0dXa1Nz?= =?utf-8?B?azVWNVNEMWFZa3pjMUtiNUFOVFFJdzRGUzlRNXZaUGFaaEZZTzU5SEJBWXls?= =?utf-8?B?REs4a0ZQQ2VsaHAxQmdnUFgzZkVpU2UyelAzb3RLVnFHR2ZUSUZlalpJWXNm?= =?utf-8?B?VSs4aDY0SVpsQ2tHdnlqSE9za2lkWFRXdjZWU2dsd09KbHRBdWZlUVFFQUg5?= =?utf-8?B?dlBNQmVyMFNkUTMydmFRci9qVnZjcFF2VXdMMkVYaDRReWYzcXM0NmErM0ZL?= =?utf-8?B?b1ZCeWtsVWo5S1BQcGdjWFJOV2sxUURrc2NZMXZ4dlZxUDM1Q2hFSlorTFYr?= =?utf-8?B?R1E2K21mKzZ0Y01uaTlqdC9tbDU1aWE0NjAwR3h6MTM2cGdIRHF4WDhZUnZX?= =?utf-8?B?V0Q3TjgxUFVzMVc1ZHFqNXVvSklWTmZCZUZtYTF4VTFsdVl1c0w4K1NjYUhn?= =?utf-8?B?MVo3N2I5SGpLNFduUi9FWXNycWcySE1Xd25lTlFrVzF0VlNtMSs5WWpFbldI?= =?utf-8?B?dTRJM1doSnFuc1hpaWgxYm1rTXBuTWRPS1lhRlBHOFlsZzN5YmV3SGJOOHZw?= =?utf-8?B?amxxNGNXRWpOZVlqckdPVXA0UEJjN1NUTVRITjlGK0t6ekRyRFBhbStxZmdW?= =?utf-8?B?MXhLTlRjc1YvMnc1R253UmVyNHNsVjcwNytBd3gzN0tRWEJSY3NVT1Q0WVor?= =?utf-8?B?Uk1KTHg3c2RnM3NYZkh0MnU0akRCUVBYTDFIdGdKTkQ0cyt4ODJEeTJ5N2ZZ?= =?utf-8?B?TUJZQUtoRTYrVXZVbkMvODIzWEZ5RkkwVWZId3pWYWQ5Z2lhS0hDRE1FOC84?= =?utf-8?B?VFB0R0pvaDdDRFZDUFczY0U2bWtDSE1QUkNkSjNaS0QrWDVnS003bUszNU1i?= =?utf-8?B?R2dRRWtXYmdYTUk2WFF5eForSUNTVGd2bHM2eGxNUXpwODFCVFdsM0ZyNEJo?= =?utf-8?B?bzNJNlNpcEVZQXdDWWZhNi90dFRzZlh0QnNkanZOWTZpanZKR1RWWThMZkRT?= =?utf-8?B?ZWtvU1BBK1FWblhCQytKdUhhVm5SWEV4SGlZZVV0T2NiV3VTTXNnYTNmK1Mz?= =?utf-8?B?Y3FTQzhtNm94UGhXUjVZa1lvYUNkeURmcWdpdkxMSjQ3eFZkMjg5WlFZV1FC?= =?utf-8?B?eEZ2bHNKQzFabm0zTEY4RXZuU3pBZmNaSDlPTjNPNUZtdDFVZzY2dnBYVXpF?= =?utf-8?B?Z2JMaldTWnFhb0tRN2YydXdZWmpVUFlrejE1V2J2czJaMTcxcUJzVkdtWnI1?= =?utf-8?B?d29BSmZ1SFk2dnhiRVpkWU13TnhWWG5vOFpVYjZlMVQ2K2tXZVFSRnFYNytW?= =?utf-8?B?Njd3WDNoWXRnM3JCSExkMkVCZXBlU1pialhBU2VzRGNkWlRhbFBIdk5SOFMy?= =?utf-8?B?cFdOTjJ5ellOWlZJQUtHQVJINjhlcDN4ZGpZK0xudTI4aHZSVjVVZ1VGYTBG?= =?utf-8?B?K0lmemFLdmZrditjM3ZlV1JZS0x5YXdqYmNlQjJvN3dqNEsxT1FqVVMyWlZZ?= =?utf-8?B?dEptWmpRU2RMbmdKQVk2cjQ3Z1ZOTnhCK1lMbzlBMzFhQWlVVFVzVjJobUZy?= =?utf-8?B?b2VqSERyMUI2SXZCOVhLaDQyRXN6Y2I4bitFUndkTkpLUERrQndWblNZWjlF?= =?utf-8?B?ckRaVmxtRGdicUp5UWI2UW1WeDNJZERudlJLSEw5VnQydU1iWi9pTklPNS9w?= =?utf-8?Q?l/byW8?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3469; 6:Gsok1cmbG7kIeoSZBCYXii6IsUB5w3aln58Blyom0lXtjvouv/1UrDQRLAm9dkRhMGjaFS0ASRMxyPPES5YQJfmxSgtlJkqf77/kZ6GtBkaHzH/QHImZ9zK5vPLsfta69+Y/b3tdd3rL9/U6z3JWiPbwIbcAXHPpU4rVVjQLRe2KgA7n0Sqfj+U24hJFCcZUOrxH9/XtiBu6KCt2Pb9Qo7GNdQd+J8wjWJHF+xilWmwxisFW7S2/OZdcT5uO7eFmVqyCk6m+LOiycZsyEVgbMoV97OhPFsrjbpBPtlV4jgTZ03RZ1kNetH4jDM1G/XBKJv7wfaghhBqvNFAmFYM7aaORToz64i8PG1cg39/rOM4=; 5:6dmzZbFl83jbGjgZK3wzc5h8JqRI2ZpWkH2eV+jk1rYLuMmqqNC9lz5YOgOdKraBeTX0AI5FuuvH4Sb6FIV99JFO2dQ0IDfagulBvoq0J/xsTW47cABewK4NICCsKQ0wM9bfSFuVInE9uLMSAgEtaf0ckbGXwCjC5HGPmyI5uo4=; 24:UjWtKHW7gxHmh/rYE+It3nuT6PXKYWXTlwX/UwnmXfbcVfV1+JGVcQePkb/IsDo53UNCla+7Raw5bLqvJ3KRwF4GR2oSg/RLZ7LST8AJGho=; 7:X3HGen8nVzMQasTo+bms+CvmSmTvqUImLOXd2lzTHbmbDVMkk0IvlMNURt1+unpWMLAswdVMNhABTLBaUl5hEbzRODTWKq3IH5RScbWFrBzSXiNcx7XLtT1nry33dESdg7yyd+MdOKDQHDoMWcDQe4KsS/wLdBQjPJnr17x60iw+ye9utsZsb3291XyWW5I46rPeg1rsqrrLVb1sKk4er1LLzn7wOMKjYLm3a+sEKlmTx9sRDPmC2SnlHeEtFBc+ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 15:18:50.3486 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6babe92e-a4a6-44b8-6473-08d55cf473c8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3469 X-Mailman-Approved-At: Wed, 17 Jan 2018 23:07:13 +0100 Subject: [dpdk-dev] [PATCH v5 13/14] 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: Tue, 16 Jan 2018 15:19:02 -0000 Signed-off-by: Pavan Nikhilesh Acked-by: Marko Kovacevic --- .../img/eventdev_pipeline_atq_test_generic.svg | 3263 +++++++++++++++++ .../img/eventdev_pipeline_atq_test_lockfree.svg | 3344 +++++++++++++++++ .../img/eventdev_pipeline_queue_test_generic.svg | 3548 ++++++++++++++++++ .../img/eventdev_pipeline_queue_test_lockfree.svg | 3826 ++++++++++++++++++++ doc/guides/tools/testeventdev.rst | 191 + 5 files changed, 14172 insertions(+) create mode 100644 doc/guides/tools/img/eventdev_pipeline_atq_test_generic.svg create mode 100644 doc/guides/tools/img/eventdev_pipeline_atq_test_lockfree.svg 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_atq_test_generic.svg b/doc/guides/tools/img/eventdev_pipeline_atq_test_generic.svg new file mode 100644 index 000000000..e33367989 --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_atq_test_generic.svg @@ -0,0 +1,3263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + +   + + + + worker 0 + worker 1 + worker n + port 0 + port 1 + port n + + producer 0 + + q0 + + port n+2 + + test: pipeline_atq + + producer 1 + qs + + port n+3 + + + producer m-1 + q2s + + port n+m + + + + + total queues = 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 + + + + eth port 1 Txq 0 + + + + eth port 0 Txq 0 + + + + eth port q Txq 0 + + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr q + + + Tx Serviceport n + 1 + + + + + + + + + + + Single Link Q + + + + (Tx Generic) + + diff --git a/doc/guides/tools/img/eventdev_pipeline_atq_test_lockfree.svg b/doc/guides/tools/img/eventdev_pipeline_atq_test_lockfree.svg new file mode 100644 index 000000000..d7f10de3e --- /dev/null +++ b/doc/guides/tools/img/eventdev_pipeline_atq_test_lockfree.svg @@ -0,0 +1,3344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 ethernet dev + All workers are linked to all queues + eth port 1 Rxq 0 + eth port q Rxq 0 + eth port 0 Rxq 0 + + + + eth port 1 Txq 0 + + + + eth port 0 Txq 0 + + + + eth port q Txq 0 + + Event ethRx adptr 0 + Event ethRx adptr 1 + Event ethRx adptr q + + + + + + + + + + + + + + (Tx Lock free) + + 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..77480ffe9 100644 --- a/doc/guides/tools/testeventdev.rst +++ b/doc/guides/tools/testeventdev.rst @@ -441,3 +441,194 @@ 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 + + +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 | + | | | x | user requested sched type list(--stlist)| + | | | | where x = 1 in generic pipeline and 0 | + | | | | 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_atq_test_generic: + +.. figure:: img/eventdev_pipeline_atq_test_generic.* + +.. _figure_eventdev_pipeline_atq_test_lockfree: + +.. figure:: img/eventdev_pipeline_atq_test_lockfree.* + + 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