From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0063.outbound.protection.outlook.com [104.47.37.63]) by dpdk.org (Postfix) with ESMTP id 7C69B2BF4 for ; Tue, 16 Jan 2018 16:41:27 +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=HPu4rTQw1/vUP5BvH64SngA2e4quplOrff35L0p3YrnKfctX34P95HArBNeQ2CZTzgjegmjbb+OlHV1nOB+j4D8LKTDQOBT54CXCNpw4pLbNFm/dIOmMvnBXGMSX3bF8hTKedCgSQCjUxsrdeRYLb6i03lZvAnHUuj2B5Aj2iaA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from Pavan-LT.caveonetworks.com (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 15:41:15 +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 21:10:02 +0530 Message-Id: <20180116154003.3762-13-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180116154003.3762-1-pbhagavatula@caviumnetworks.com> References: <20171130072406.15605-1-pbhagavatula@caviumnetworks.com> <20180116154003.3762-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: MWHPR02CA0016.namprd02.prod.outlook.com (10.168.209.154) To CY4PR07MB3464.namprd07.prod.outlook.com (10.171.252.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9075d473-594a-4863-ca2a-08d55cf795a6 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:RBw4PG3DgQHjU6+x0U+lAYeMeW5Vkd/gfx9wMwg5epVcbHgKxdy+i65h/uba8Ik0wRII5t1yJ858S/paO3ZW9s4B5GGnf9BMooPBUatELCeUir76Ef66vA+FJStBMk5WrEohHNBONLRO3NwoT78EEQT1bJUQiaqws4Nh3HQKKOMk5rNiAeE5IjxjShGu42KejUSiXZWg4aCcGNoSyZD/XV+d0JsEn76TgqUCqr6II9V8MVlk2LDiHODasATsY0aD; 25:4EbRHA8SqMIzwCbRFBWWO//N+uHB40zgu26aQHBiNud6nZmo2PR5q90UQaeMfIdyYDAAzd/Fb2avX4tRdr6jHX9oUajUfLrGOwn5LcjcV64e1UdmuFBkwbM8VY6nkr146mZZOnyARKgNtan+ZRj7RI3sVz4gJrVNLqtMEmGG6xKrjTQlniEi3ipuW4kgVzVBa9D0XS2Bm4qYodUC+LYeutC67KaHpWQEb/3efZJVkHt+1cifwGk+JdTXSCMXvyWfZJCFnmd5+w85MmZJqjvWqFHKJ/vBHScKuMkZ27jqGfCVl1nRksboaC4WCWsNkJ4K7XW2fbquODUztA0kHV+58A==; 31:wvXyK1sBxpNlkSYrkdVU8sAOXKz3eDBdGqbZe8J5laW/bTz1lF2zATci5mhfsir9F3hbYLDP8Qd8PaKn9SVIJEArvE2Qy5PUsjVLVkQCrgJRcb+iR77hC1VweUzYCmNl8cn190Cv5Embmk6MmlBgmDrF3EW7rycRlRsTecy4X99Lu3QtCfrwrh/ibudx2KaiVuSGuDdirbAxqIcZa9lVy3sERswlrFnZSxI9vp3yjR4= X-MS-TrafficTypeDiagnostic: CY4PR07MB3464: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 20:VD8Zhsh7dZcUzY1N0nAbAPY/KhimdJXd6H5kmfnY0N0QNvGXIwq/t4nWqdvGx5qoQk6ErpvlVUPfxJJs6Su3u7D27uDaxvEZzDcT0EIBpbNgGpKgLnw9JL/RhXONtCEQmdk1yGevRChVLfj07uuDQQ8lELauqLVepx4LYvHHZ74wyW9ZziPSSpf8glMIvzsgUgDgE3wuDw8rp+9BdFCe2GunAILFDyOuf0M2ylUATvonOgg/UNFWb0aYEKyER4Re67om8tlgJB3Ag3VxBAoS5l8VCupVJ19GqIYmIu1sD7gP3+MhQIbJDChUd/KR5rA62kspEXoKeQ+yGw2wHaM9q1fJJiLcgM6SiDk/7WMTm0JVtI1qMp16TWxCHF9R4Qvz2GzGDnLipSuoysxj4ejdzPXIBauO2TlVUSXxraLjuJ3XVWBBs6Q5qDFGy7QhDb9NMrGK/i7d7DRFVg/7KPwH6BZsap3Y8IpKmWEAZULTol+5ggzQshgUO6zsA96f3dvSDAD7mv53kO2ca6o/k4OC4czyXWxp/yLIUF0qQypsHyX9ZV/HpPvJgovWvsNSWTdhSZuooBM+PqhAdIE6y3FG48w5ZQsXaNacm9+QQOjbbfE= 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)(5005006)(8121501046)(93006095)(3231023)(944501161)(10201501046)(3002001)(6041268)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:CY4PR07MB3464; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY4PR07MB3464; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 4:hW+Mk0f9P73GbTXu0bG1F1KdNcaUw2wko2p6zYV0ZSvSgyTalzmt6L3qZgTm6ZS78CnkIcfxRcK91B3ofA6MyJvJF34NzQonVxg0zbRuNT/cGWlHTXtSD+AyHSIR5te+3wHl8CLqNL+CH/nPOzrm9Eib6koh5ypDwHX6UkoAyR9Me7pZTlz2aXa+z9SosO3xiBZA00mj6rsOw4WKJdun/qXyvdWWv030+Tp1ZWddrHF+ryWqJmhhx0/2+6YksgwJo/qY9Yg18ojNpzmufNvAS9tX3LXhPT8AK3bsdZqMIhGdEiC2Rl/prA5r/FKxCqtegON1ow1pmaQqV7WDcKe1in//nSa0I1RfCdutMsUpMUNo4nQ8OCQdDipZplFRHgoqxzzZ1bsaUa4l1aqs4HtxQj5kVbeiaVBr9fM9A+BRPlmfQMSYpFXXdf9Stwn+mYoU77CT2q0A338DpppxzWDqcg== X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(366004)(346002)(39380400002)(396003)(376002)(377424004)(189003)(199004)(81166006)(97736004)(8676002)(6116002)(5009440100003)(52116002)(305945005)(8936002)(107886003)(53376002)(1076002)(81156014)(25786009)(8656006)(4326008)(50466002)(19273905006)(575784001)(50226002)(6486002)(5660300001)(3846002)(7736002)(16526018)(68736007)(69596002)(42882006)(106356001)(23676004)(26005)(76176011)(2870700001)(6306002)(53936002)(6512007)(59450400001)(47776003)(386003)(6506007)(16200700003)(53946003)(66066001)(72206003)(2950100002)(36756003)(2906002)(478600001)(105586002)(316002)(53416004)(6666003)(42262002)(562404015)(559001)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3464; 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?MTtDWTRQUjA3TUIzNDY0OzIzOmNvUHR4bDk1OU1oQ05zeDFMUi92Zi9XL0sw?= =?utf-8?B?NHJ1TVVZVSsvcDRzWE4wa0J2dmd3WXBxNHpNN3VkbHhkTmpKTktKVGZsNFNW?= =?utf-8?B?RVlaWHRjSTl5TWhiUXRQT29USGY2QkIvNmtKMmc2SkNHSktxajJnWDcxNUJ2?= =?utf-8?B?ZEZtWGlSQk9mM1gwVk9PY1pOc3l5YWxhZFpPbFI1TkdzMmFXZUVDRFFHcjIv?= =?utf-8?B?amVaRkhZZStxeGtVWEhwelM3aENLdGpUcEJzeStmU2tWT2tyeUVYTnVib2pO?= =?utf-8?B?WkI5dGFGcnhYT0s2empuU1VKMU1SN1d5Y05BZmhoTkg3OXdqa2NSaEZKZjY3?= =?utf-8?B?S0d2YTR3amR1K0hKVXA3QUg0V1FzVE1ZMGkxOTU5ZFE0bmtaVENtYTkwTSt5?= =?utf-8?B?a0JBMFUwMEZuUTVxbXFsMDFHMU05T2w0aHdMYWhoVHJKRFFCcVpub0IySVBn?= =?utf-8?B?ZXZZWmN5Ti9pOHByZnJiQWx6RWIwV0s3cXFrWFFPek5qVkJVRFlZRGNrMm9Q?= =?utf-8?B?alZVREM2Q2lrb0NBUE1tRFlnVjRaUW9uNHE5QW1aUWV4Vk5EUWRqS045R2wy?= =?utf-8?B?T1poU0dLai83TGhlSkk2cmo5OUlkNUFyaVRPSG00MGMyUGw3eEcrNE9veFRI?= =?utf-8?B?M1dlL1VSTDgwcXNZaVdIbnh3SkZtaHlGMnY1ejhOT01oK2dOSm1saFFCemtp?= =?utf-8?B?WjVCMG4yQkNraU5ZQkF6RTVWaGhkb1NyZ2IxZVhaYVU4dVU4ZndsZlRZWmlE?= =?utf-8?B?bmxwaDBYNndHRjV3OEdjNW0vOFZ5dVdHQ21PTkhJMUgwT0FWbWdZUHgxMldD?= =?utf-8?B?aUlxbnBVUituRG9laWdNcFZPcGRtYmwxNWRXS1ZvcUdsSnNPVHpHNHlqVEpK?= =?utf-8?B?MDg1QjB4Y09RVVZCcFl3Vk11VU5KZzJ3alhrR2VKTmp4Z3NPWThNU1FyYk9l?= =?utf-8?B?K2NuOE1WSFFxTUVtUW9sajRoblM5bGo0azdySmdGZnFjZUpOSEpBeUxYL2Q1?= =?utf-8?B?M09pc1NoMkg0WlM4bCsxdUtnYXBOUUpMVDNpcTZBeHVxQ3RsbDZZOThESEVp?= =?utf-8?B?aHUwR2gxSC8ydVZnK0dpcVB2NHExUDhyWVFaSVlRUlhPVXdUalVlb2JIaTND?= =?utf-8?B?U3NLL3JoejVwY3lnK1QxeEU5cHJ3MjZhZnFsTXV5WG1SN0dqMTQzYitmYmhQ?= =?utf-8?B?QWZyd1V3djl4d1lZdVdZWHZlUG80RUtXTlFGUnY1TW9pTlhhdDQ2R2l3SUE3?= =?utf-8?B?S1NMWDhocHlNY2VXdEtNYkJzU2RmVjMzb0pzOXZ0ZkN4QXl0K3A1MkcwbGhS?= =?utf-8?B?eDFUUUsxMjdtWUhnWTYrcW5aMG1id1ZsTk5UbFpQcjlxN1o0K0MwOUZpM0ox?= =?utf-8?B?K0UxWThOWGh0eFVHLy9uY2FpL2xHLzdrVjE5aU16STlFTFlsZzYvaDZGR2Qv?= =?utf-8?B?a3NzNFkvWkNheDAxQ2cxc2Yza1VCWjBwWTRJeStQdTVsRnFBM1l6T2dyYVhP?= =?utf-8?B?NDlac2FtZWtMc2RpTzVUUnpaN1A3MlFYL1ZNYWZlZ0VkV0lTcEFlcm15eTRN?= =?utf-8?B?T0lKSUo2TnlkMDZDNTE0UURxWVE0RGhMbXUvc3ZETHFEVnRza0tjR1A5c0tW?= =?utf-8?B?bWRUT2U2elB1OWRnR2IrUW1nbkpsTFQ0ck5ON201ZWVoaDRZSkRLcVhEV0Nj?= =?utf-8?B?aHBCMm9zNnZxUldUTmxxbjNOYnZuZERKZ015bkkxMWtoYjMrQWFvM1pGMTNS?= =?utf-8?B?WjJ3MWt0YnpacVVqbFg0U1pySXEzMlNWOFNmTE42dW95NlRoWjJYWFZUL1ZE?= =?utf-8?B?M28wejlMcUlrWjQwVDZNQlNybm9DanBKTU4ra0lMZ09XdjhxSVRGc3lKblF2?= =?utf-8?B?enE5Y3NrYStpMGdueUJiUDhSVnIwKzZzSHI0V0NlejVOUTlVOHBqM20zRzFm?= =?utf-8?B?TXJkUDNIdHhuOGtRQ0huYVc4dlhDbWVnYzN6bnhiS2ZjTDV3OHp2L2RqRTRB?= =?utf-8?Q?vlX+sf?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 6:wt5R6BP6EpxGRXtJTrBhIiQv4MO7qABlbfYIYVLdglmJwWJuCzKbt8upXiEjQAmZQGUxVq8mGhdRKqLcBfM6OkmDWw2fF+8a6nS7zb0W7oX9dE5TYz1uTqC+pzfwM2HMDMUKuj1I7Huo8MikItJ4PnkDAZyYCjuwwhPkDaCxDgFPIvRnbCwbKyRsPXunyCZLYx6gkDxAAZYOhw6hUOcbfTtjNXm4Gv6dlWduHzFat0vK8ALzpFIYf2tVjejc7QJYkeuTjwhAfRRx/lRU+QWOzvbUo8NklGABgqb1XNFXHCzbEew+fl8le+VufiW6yRmqmbKL5APEx6xbjAzfTuwIX+CnLJc0K7X06VX4McaDtAk=; 5:E0hy+SojChiiOD7AnhWS0PakDJMA9dotH3+202FHp/gdSUPGPWeVWRYtQx0vAiYd06jPkQ2Ujh6P5RTKVD6oeprh8aZ1Bj334H/cAk1oz1zKTgRo5MKztipksAK8VClQSbsmL5634IOy725j6zBBB9l1bJsZxCmPpEKjEyLLp6Q=; 24:ehg0GQK71jGREP4woNbP10JgW2gUxYPvoFVF2s0qsP9IHINNQLdrB0Piq5tnj9j5SZ6u0J/3e7zNiEuDpyBV/ZdEEr2I0LzQLQ+lBTcNTH8=; 7:KMrcbZkgzbD/DP65nS6TIcMnn/WyYHP5HdOl7oBpKRC3r0ghO1FPdWJRz9o3E74w7tm1h0yc2ZkvIYjh09BSaeOzNXaav4XUD/Wh0eozLmvdWdYAshCciywrUHxOK/2ZbRA2weRCF4tdr5YNJN1axpw67Ip5br07l/nINtaxx87NEWGCSjulEnNwIyinpwKZ9RGUdCKDra+Vd5m/N1vBI0k6H0mDm0BYYzLhZb9DMpMnQZJ5wzMNXBAbMZPeP3gD SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 15:41:15.4268 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9075d473-594a-4863-ca2a-08d55cf795a6 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3464 X-Mailman-Approved-At: Wed, 17 Jan 2018 23:07:13 +0100 Subject: [dpdk-dev] [PATCH v6 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:41:29 -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