From patchwork Thu Nov 30 07:24:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Pavan Nikhilesh X-Patchwork-Id: 31776 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 AF45C378B; Thu, 30 Nov 2017 08:24:45 +0100 (CET) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0060.outbound.protection.outlook.com [104.47.32.60]) by dpdk.org (Postfix) with ESMTP id 16B02377A for ; Thu, 30 Nov 2017 08:24:44 +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=Y2OTns+nwQGUZiTob7bhVLBNy4eB8IxE8ifSZR68mwc=; b=XbGnilPvn09jEngWonikHZVdptFblI1T/7yd2QzvPFuZ+mxM1yx+lSxNLd2B8jCzEXZEbX9pfva55b/gJdSglfMlCxVPmb9Zvhqwsfs+uTUvq3WIjREbl12qGAfTL0K6Kg2PCjB10+PWdUlqPlSk68F1vqvafJISTJXExX178lw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from Pavan-LT.caveonetworks.com (111.93.218.67) by DM5PR07MB3468.namprd07.prod.outlook.com (10.164.153.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.260.4; Thu, 30 Nov 2017 07:24:36 +0000 From: Pavan Nikhilesh To: jerin.jacobkollanukkaran@cavium.com, gage.eads@intel.com, harry.van.haaren@intel.com, bruce.richardson@intel.com, hemant.agrawal@nxp.com, nipun.gupta@nxp.com, nikhil.rao@intel.com Cc: dev@dpdk.org, Pavan Nikhilesh Date: Thu, 30 Nov 2017 12:54:06 +0530 Message-Id: <20171130072406.15605-4-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171130072406.15605-1-pbhagavatula@caviumnetworks.com> References: <20171130072406.15605-1-pbhagavatula@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: YQXPR0101CA0013.CANPRD01.PROD.OUTLOOK.COM (52.132.74.154) To DM5PR07MB3468.namprd07.prod.outlook.com (10.164.153.23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 60b8795d-05a0-4b50-1edf-08d537c36b50 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603282); SRVR:DM5PR07MB3468; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3468; 3:E6XVU26nJ0oS1b+rS5bDQsYMtZ5cTK2xBXxShGwGBjAMDUaaUNV0b+Wwnb3pKnjYK0druQCSdwfWC8gJZ9pfterm9kLhyeyK78nqnelEdqY76Qz7pqN737miFFAi68Ze/OEdZVvn/x+fYKHFRh7bt5kBufonucFQiffFcJwmy6TBHteLVadtuQIJJVcQY9Fmu/1Povve93eXRSb0Gwmb+da0smlexpcDU1qE4fp6STVrRXaH+wWyaWY+kn8fX2mG; 25:XCBN4pw6Mz6LqthEupdm0JWlnRBTnlnLNRpGVEE6BndPqLaErLtonBjV556OsCqwBEv1PZWhgSZjQXQHyEw0A/o3LHpkEUeX/wv5u+OuUSvLpYVkMXRuDPrpgisgEg5Hy96DX2Urd4s3ib4vhiRGzJRJSYDQ5pV4+auYhx5NtDz1tNlCnA2sFMcHExPcC2qgU1kv9E4viHBEUv9DVycIEDEa+iSDlZUU11XDiHkyAFED25o1mZV07iSthh+MZfpd/h3v9z+3rKLmzLPaG251Zojzk/gcIr2isaRBbOFcQZxRwgwY0v85ivqe27Yb2csBpfpfyj5bWNtuYxdGAGijlA==; 31:Nb6mgpujcoUJd6Y0ZDz0Lh8mJ5wygzG2ay9oroqwIJDw1Qi/WhDTmHmP9hAk3i6ahVPQ7teIIJhv4Rpd/oHqgmmBA0hYNSuLgaD5bPpah8H+Ywu4SdkIHGK7TWeENS0r/6SX75lLeOooVLRi96U82rGUMbeXjTg8J/RczPdWUqh92IR2Dihx2MLX9tEiBuobZ0OP37e6MI6VTwGo49hAHJMH9SJPnDykGj9airn7vyk= X-MS-TrafficTypeDiagnostic: DM5PR07MB3468: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3468; 20:qbtjQx0Q6ZadQf+mJCTMASm1CRsxOQv536YD1RZbMa3cpOkBxvI2WGEaOnSCrRdjbWVunEL2e3G2nvQiV0QXaALchBQIieH+IaYJ63d4dXT6DHE8wRyyqa1E5nOpILW7zOvSwX92xHa0y+KGRaV1+GxYD9MTChX9vR/xk/gSt78xQbllHIpMIU567pv4XoT+uuks4wLHbFl3HMMV9xV05JmA3SKdv9vCD6z8Lg6tH1KW7LU1/zJPH976hsMHT1/sSi97Cy79HwXpTUGtwomWJhk1g+7p/G3vufnSZBdTKFoLknnhY6lghkvT04BtrmeFNl3sE2XmzeVnTwe4EkCYJHgJ5tOImzLgLGAd1AuLekRqaBxjJmNJWMwiEKYjwY/P8jqhDoJPQ2L1Yh/aV96W7hlVX3hC99KfXH7bQGErSKKbvbcptEwsWqSPY17ZJf7mJks4WRiW1gq+SCaln3LT4INFcnDnipj0c1LO6TPBTzZIy9zWYrja5DmYh3lWPI0BAg7CteeKrncgGwpfCfhL4twqmLAs4ax9AY00cU4kzKUr4JHGGWDd1ntiqkGP9I2EAwcHuZRBCl9xsWnuXtLitEQlJ8/w3nDE7jJjhR0hB/0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(145185744447497)(159090696235961)(131327999870524)(42262312472803)(227612066756510); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(5005006)(8121501046)(10201501046)(93006095)(3231022)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(20161123555025)(20161123560025)(6072148)(201708071742011); SRVR:DM5PR07MB3468; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM5PR07MB3468; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3468; 4:kWsh8eUwqR96kvtyGQmDLN3ZdKtzI5O4wcj4prCxhshHt5iHVUHc5S3SxxKxvTkYs/25zXp9l4Ocy5DWslPKldiegLm/1dat/6ccdb6jZJ+UFJATWXZH+po2/1j0JhQ9xKhGgHvpf5baSMSyLrNZko3m+jAGA0CVjwfkewAmWX2Y8QmUAG35gcn1J4Kzw/Z60Oei4u0CQR5N3sHRj695IxREz1tSn7/OMR5UHzlj7mKCbdRi/7wzNqA35LeJnJkZe1+CW9UA56vU3gPnW8KXszkisJkX3h2sRW36rdbzO/7jIjXmWN5WGkqfqULkd/YkwdZxX6NqgbGQ1Ew34D7DnMO1VBkpjvAaaRW9t56dLC04OtvJEvRHPpeYoiYL64uYYa7xF9XPFYcAfEk6/3lA+sfi3opDjcku1yCVGFKVCxNR+bkkSO2lcpFFI0dt7XxnmlQ2vYWu7QjYYzkf+z8u+A== X-Forefront-PRVS: 05079D8470 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(346002)(366004)(189002)(377424004)(199003)(66066001)(4326008)(7736002)(189998001)(8676002)(81166006)(6486002)(81156014)(47776003)(50466002)(53416004)(8656006)(5009440100003)(478600001)(16526018)(72206003)(97736004)(69596002)(316002)(19273905006)(23676004)(52116002)(6506006)(305945005)(53936002)(2950100002)(6512007)(36756003)(105586002)(6306002)(2906002)(16200700003)(5660300001)(25786009)(68736007)(6666003)(8936002)(42882006)(53946003)(53376002)(101416001)(33646002)(107886003)(106356001)(1076002)(3846002)(6116002)(2870700001)(76176010)(50986010)(50226002)(562404015)(42262002)(579004)(559001)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3468; 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?q?1=3BDM5PR07MB3468=3B23=3AXtOp?= =?utf-8?q?Zr4R7wK848VgXFWMvADhHRHNNPmGVzOuyzgi/0unTQqfrDFQBoEoCQuf?= =?utf-8?q?hCzz5o1p7U/d72bgsndJGpaKUhm59rXoZVWgipPd4QEJsaXtjn1v2tCs?= =?utf-8?q?82g7F5Yi4sdMPRfte9y/g2flE6YMDf0j9Up9Qk/QVqerhyM2hKFSIImq?= =?utf-8?q?DY8183JkSGaduT+wZ4RyMutIDr7yxYZMjOzoq/PgMrDsRzQ6WrX77yq8?= =?utf-8?q?3ZysPue8AWWQIlA7GD4vj8DV9iImQPUPRIjihN+/8FG8laKesbrHpH4M?= =?utf-8?q?UUsf8w7c9zGgn0IfhsxnQ8uIawgFMzZr3TeG7bPE/iuxUUmtx+lTaQCy?= =?utf-8?q?h44vbxWfh/GVfGmn8AlnS2JELx9juJIVOva0F8yg8/Vri23VM2GQsD/R?= =?utf-8?q?Lrj4lp9sFlTZtUlWZCzCmUOQ9bC9byB0kuV3Ebov9zSPoNb0XHgfwqM+?= =?utf-8?q?JPZXck/Ltk1gV2rTpqjSwXRMCYyO93E38QhHoqS0NrKN38NMFUN+27Ms?= =?utf-8?q?orcWE9c7gKH+922IX7Mca6z3hQlURNKE9kE/Ame+GehcXf8wCNwEJG2d?= =?utf-8?q?qWdCNiaj5rrQIpxfJT8HYigsKmUkdZan1nptdc4gTpFAvsNWcM6QJl8P?= =?utf-8?q?NLhFN7SiTnwX4DmxR4VV/s7/8gAn6FtmM9xhG0HKM9Ry1UpfriCCzYhe?= =?utf-8?q?5q+JmlMcVf0PL6yvpsZ7jUGcRd3fFomTYOBjZ+yCisfgZdX6zryuZgCU?= =?utf-8?q?q/S1cqZTIcjDa/gSlP93FMtafj3I2CKNxcJZxc4ujisor9a9q1lmfkaU?= =?utf-8?q?8GBSrPhDU1bUAlD76PMIPUld1jRMEaB1ch6FCtGkcJqZ5IuwX7nOt6b4?= =?utf-8?q?l4XJSE7lx4eOl4tV+cxukaADqqzXyEYSC00I054LxkLdXCwBYK76GxlQ?= =?utf-8?q?C2rq1htcniRltsUY81lp/mHWibGZw0RrGGiWJX14ZmsIZ+PZnv6mpNL9?= =?utf-8?q?7Qz4TWtM5EN+pEaYf16DQRn1TK0bHsPp4nzTxNkCvdJRuY4l8GaUgdF7?= =?utf-8?q?KtNcpXP2UU90D1ZXSQFSnfyxlPdpPdMRvDoT0DSuOyQk9fz202kvxVXO?= =?utf-8?q?5OaWCOgRXkvjt4VIGIT7BLN13nsbVqrBqKEAI4ZN8xZzzq1eRmmNpFCk?= =?utf-8?q?RPp9gTSQsch7Cy1VPrTLRG+46xOurbEu1WVZEip6NPLu3GxtB1X8qWHx?= =?utf-8?q?AR71jSigai1VeXiNIBgFfela+PRGb0wiDULKYtR/zfE6Lh/B+yuhPuzv?= =?utf-8?q?iyZwVcIgVPSva13qm8/eGzG2ECa8Jlpcx/pOOXlQo0BwTI81WYdsxpSK?= =?utf-8?q?aNUFTcfHGDYi5IPmC/H4KKFtpM/CdyquRoQr5vCmfRlWiS9g8XPX2RUg?= =?utf-8?q?Zovk+K2rd6PdxGU8qZO7eSMQOkDNc6NURUjhri4WyJZ9/eSIX2ezOHfo?= =?utf-8?q?Ja9eItxdIp44QUYS3NcOOg/lSQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3468; 6:A+LGXzLvO08qOo0tiq9rn2XCbwetLPBkAzx2JR5JwwhJOZXolP1UJlT4G+K44lOZPMBcaGt132T8JHhPR28+4ikVfcNz2wFjde/X+qqYto113Z4nrLon3LzoeNnhCCJQ28my9R0x5u5fohBEYa7TT8z9601glrgOxtjK95JN/RE2ne177586rgaVf5o94VhNs5T19u39ldJkjZnJ50TsPxBoq5kd+MqTBQn+ESJGJr6wvBUyvFcO5T5zsx+6S3Kui12roMfzYJQFhVkQdX7+0o7XB36rKunQf3Wrn/fofiQ76apHQIKTXl7j3aI4AKknzNCZBChAVLqlPIi7tz3DWEKjkK1YvNmMrCZY0bszE8g=; 5:aM+vEpsVcGGWvz/un1kNtnj79UbeT/qpX0gJfYSGY9MFoclkQ9jsvRZqLJAWDFEBb2T0+vT8pIzYG1pcQuUhBUDNq4wezP+PC1UN461w4wgw8KK8fwAo1Yfzqmo+UOhkX2Dx/WfbIJyVuN4DYiV4Z2DYHpkzSXkRNYR0TB0IFiQ=; 24:ie9S0wSa/IALGLkWV6/VMKgqkaqknAxay2eyTIF/NBmT/aJu9PJcVTClcFnJmzAavuf0KGL12T6WCtJQtowmdvx7/ldSz+PGYlHtfNuLKFU=; 7:BbJeDByBLo2ZDexIhpCcvVlTrdQD5eYuIiyoZO2M1P6KQlpsUJUjOvYOc8d43FaE9B2K2dCBX3jr+MfbjwtlyuiTegNU06L3MBQfjLbia0yMkRW4eFueo51VjWsSxgrMrTTtcgoLbaCtYN0wQP0yWvvnTOE9ZD5X5iALl7+q6a5Gs9uTz9VKscadVgt81GZSLzuAaYziLT6/pIzeW+HJGtWRXiFeWosNey33gMu9LbQLnCSFhMYsPtkClDeKzRnf SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2017 07:24:36.7762 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 60b8795d-05a0-4b50-1edf-08d537c36b50 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3468 Subject: [dpdk-dev] [PATCH 4/4] doc: add perf 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_perf_pipeline_test.svg | 3292 ++++++++++++++++++++ doc/guides/tools/testeventdev.rst | 99 + 2 files changed, 3391 insertions(+) create mode 100644 doc/guides/tools/img/eventdev_perf_pipeline_test.svg diff --git a/doc/guides/tools/img/eventdev_perf_pipeline_test.svg b/doc/guides/tools/img/eventdev_perf_pipeline_test.svg new file mode 100644 index 0000000..144b928 --- /dev/null +++ b/doc/guides/tools/img/eventdev_perf_pipeline_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: perf_pipeline + + + + 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/testeventdev.rst b/doc/guides/tools/testeventdev.rst index 11e608b..b5c84cd 100644 --- a/doc/guides/tools/testeventdev.rst +++ b/doc/guides/tools/testeventdev.rst @@ -468,3 +468,102 @@ 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 + + +PERF_PIPELINE Test +~~~~~~~~~~~~~~~~~~ + +This is a performance 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_perf_pipeline_test: + +.. table:: Perf pipeline 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_perf_pipeline_test: + +.. figure:: img/eventdev_perf_pipeline_test.* + + perf pipeline test operation. + +The perf pipeline 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_perf_pipeline_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. + + .. Note:: + + * If the event device doesn't support ``all types queue`` and the last + stage is not ``atomic`` then an additional ``atomic`` queue is created + to maintain packet ordering before Tx. + +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 perf pipeline test: + +.. code-block:: console + + sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ + --test=perf_pipeline --wlcore=1 --prod_type_ethdev --stlist=ao