From patchwork Sun May 28 19:58:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 24828 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 [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id E672A7D12; Sun, 28 May 2017 22:01:48 +0200 (CEST) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0064.outbound.protection.outlook.com [104.47.41.64]) by dpdk.org (Postfix) with ESMTP id B4C087D1B for ; Sun, 28 May 2017 22:01:46 +0200 (CEST) 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=6dpGBE/jgLEdgfsBmEWmPMzwIiFFvdwS/vwYXyxfwyc=; b=CIuUGFpU8SuSEIYZ9fjQVlk2yaPvxk9hNSgaPaMjhe1d1/fXMOwV7hj2L0L4cCSO+YWZR9JUMqZx4acNrB6Y+FduOD8IsZpJkS3WNDO8rr55X6SKBQ04lVeZ14N9mvkCe7m/J+OdsBNtImBX82Qdz23joYdIORtzEQgpBN5m9d4= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from jerin.domain.name (111.93.218.67) by CY1PR0701MB1725.namprd07.prod.outlook.com (10.163.21.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.9; Sun, 28 May 2017 20:01:41 +0000 From: Jerin Jacob To: dev@dpdk.org Cc: bruce.richardson@intel.com, harry.van.haaren@intel.com, hemant.agrawal@nxp.com, gage.eads@intel.com, nipun.gupta@nxp.com, narender.vangati@intel.com, nikhil.rao@intel.com, gprathyusha@caviumnetworks.com, Jerin Jacob Date: Mon, 29 May 2017 01:28:42 +0530 Message-Id: <20170528195854.6064-22-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170528195854.6064-1-jerin.jacob@caviumnetworks.com> References: <20170528195854.6064-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BMXPR01CA0003.INDPRD01.PROD.OUTLOOK.COM (10.174.214.141) To CY1PR0701MB1725.namprd07.prod.outlook.com (10.163.21.14) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY1PR0701MB1725: X-MS-Office365-Filtering-Correlation-Id: e9f5a933-dd05-4a12-c076-08d4a6045e43 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:CY1PR0701MB1725; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 3:jTWS0deoISNaclGi2Svs6EqS958R9uUoehS0J3O5WYkAzIYMnaYP62ALmmETbMuBgptE214tPeSDVgEnXBtaZ0wvp2Lk80RKy3a0xpla8pvUPWvFkkgwNjkalZEODJr114BhxdQkNqhaE/5XuU3b/ugqvXiSFiGRWnUTVLZ1aU/meiGvlMpSewFozljRxzT6KTnTQ165wbHb3LiM+Mg6dy8G/2mnieE0/0Fq9Eqyx/pZNAu+aNpXGx1VVYUzw8yIlEnUJ8CsVnU4wK9G95UrLLG9+TjPzVMTWvGt+ouw9O90siUpz5QSe6UR+2tuG9ThqIKvN7VdDDYAbrrZu3PbZg==; 25:e0pjByYixWRo0D3ZXELv4LeOLPzQ/MIWbLKVtZGrhPl574HRtJrgPtU6yrZcIks85BNhPFTaIyLpNtfxJTYie6yIU3wnYKZIo6z2Ug32NSTAaabr4rF+O5PCi6ORApzZRJ/w/tYKMdOUQmcypd/8kKDjtGfjKPLS44fWKlJpelFBhsyyy1lvW7Y8R81uidbCRZwpbnZ4M3qpZw2RC0Qilp8HVMo+fAdeNSYQrbipCeG3RPIdoE9tUvjPOHKReDrDpyI7+fAC7dKrmCF4THZg4feH3n9gV778IOu1YxDOUu2dv8nVwJD3HXk1ZKYHcWKpMh5l+Qu4JmszLchGbqB4U1LTqhCo3H8e5qmBOf4VnOE+7EQeV3j60j942k8F+/xunl3QhgB3bELtDVVg/4vHRAHnu7DjpSbWtuP4vl4zQd5zsEsXMBG6XKBtXtjuo/cpZUxDIrj8KmnaiKNqArlX+5lX3ySXzyx2BqIZgyfuwcc= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 31:ELBOt0K5iH0A/CYg5qrUb/og6heO7w9deI494mBN5eLxOYb2Ex7V8CcNbarCDJ5nuGrzf9bXOqfaJbYkf57QY5Xj4ShbAPKtAjXQwe+bygLmidCPZr/Sl7x62+szIr38Jg2IozPxCn17iuXYxyJfr01Ossp0lPo3vAEeMt9XNhVdj8ctIX/XQMo9mJlPXfIq6chO0En39Gz+Sjsku8Nf6ASFzfcp3S+EonITyDQ1kVw=; 20:err/EQO5Z0dNPGCw93dGyIAtN2+ey2Z1zeRT0qd43jLBc81igZiYxHfh87CK9f1MFmtsQdmY3BNgfd/VQEpPv0ETMP6VTw+yJglTdLLxjGt1YaBIDVFFClWAISlMnUoM8g1M0SHP4w6ZFWnveumJq5EQBQwwNszH7joIpPmy+DDLUojryKEq6wSlXD9jF94NwQQV9vmtwgor4C2d2Krt0AQzYm4AHEXLiAJkrz8gVbW6gjimSwhf772mx7U9vxbtyE5rqpPr3zGrb2ajpyjoOP9GjNFk8/wPYo989x9F/betAhlzN3ol+JogQYjn3SA8CEqDGMkjepyHdwaSD8iDjHkcGECrhQS462EaaiRWVrXH4jTvNrejVdNTDV0ZMFKtx9lyt+C0K5MPmKnveFFWj7WjrsTkTHZRMosP0rHitoi8qOu7jyZaowOAEIbj1QPymzotp3Qz9bV57Ryn7Zf1KA7cLEQ0Ejd0ynHnSqeSExDXryMkVtkI5PdsSaJfhb5aS1xORY5ylRnoWi03iatf4kDfjJQEFDiXjNOzqJa27YINJ51JSqbgCb0q2idxmPpSKVegiL1LPGCTY2EPwD8mxHwbIrT7bCFKbTPAzAQkpoE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700073)(100105000095)(100000701073)(100105300095)(100000702073)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(100000703073)(100105400095)(6041248)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(100000704073)(100105200095)(100000705073)(100105500095); SRVR:CY1PR0701MB1725; BCL:0; PCL:0; RULEID:(100000800073)(100110000095)(100000801073)(100110300095)(100000802073)(100110100095)(100000803073)(100110400095)(100000804073)(100110200095)(100000805073)(100110500095); SRVR:CY1PR0701MB1725; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0701MB1725; 4:sIaZtrdDi+JVQM/nz5tiMpdLdcSs1cKgZ/XO7KkU?= utroTi5OsFsEH7VQTbihWwAbLURbY/6thBFFt2AeR/0Qi3qkFF3mxDuDake2h+d0r0zLCyi1WBExBTPK6K1R+gaEQM7t68XsIdLES0G/lzAo7hjakPtVwMQ7senXpmZ6u0XB0OvF6GQ5tp7uHWALfw7OWqn+MSuvkt9lblnI0OdOlPP0fST/cl5W0cu8gsX/Qdh6MYNuZagM03SutH8CDLKmf5JRToC0R1LHz6O5PTEYwgWNrl1dQ/gQMA/97I+h2b2hzaydaJNXHt5v9sVY99ik7qKn3r+uHm+h6pgluBj3/XoZwcKzCcYZWO5lbny2zopvvDU0rdi0bQyvzpQ5BSC027l5p83cr5d0hdwU1dV41+Tr+FjafsBAYw5LnV8j6aOlKZKfKvKtzeXUsEas5euaZ3qB0ZvUISkCMJ4e8CU6Lt3T79d/a+VBU4JQBx15T/Blzzm6EYtI8eAfy8Uer3c8p9swn6gKWsyZEgjRnuHZrKdVy0D+0XBMy0Bx/U/yhqoJBMC8SfHDDTrzRLpM/aJVEKSLPxESRfWDXHfLPUgJwiiChoQijM7R9EBAZ/vMhL7KS7/xPUjyAQrSoKi8sP+/quRJ1IqzZdQ9h+7pc++LV/sgpLyIkAMsziHbNvE+nApKrwZICfiAQ5jL5E6rHERLGJGTOVqMe6eoCkmlXo7v8uAYdU2opf0PxBCSLYQK1SChz8B2ftgalQU0CDSSh4OJg5a9hQ8tJO8t1HCEiBAEFOIlHqVQFItx565vzm/nInlBIPKTU7qXo+6mMn1xe8piyg5MOX/qSuxSYnzRic7rwF0j6UW9sKwZAOwVgedb9RcaCwQMLss0uq2pDuGjIIDRrIKF9TiuPnGGkukO+Cbuvw45oDovxZQ+82+5tTHI59ISmGK4vMZU+Bk/B891FL5XHmpEiJ8+0qY5EhYB4orNstDcvUoSQM2T5P7stmopRyI+d9Op/XMXSXVSPPPAJaRzHJ/zM0adQYCLaZPxwPisVvMqzi/wGABUiTBtqEaCEJXG53xLVz4OhPWSs0vH3Tp/Fpjr5r7Bd0dqrILnmUNvGW3L40cNcvWBIw3mmZ+9rn0= X-Forefront-PRVS: 03218BFD9F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39450400003)(39850400002)(39410400002)(39840400002)(39400400002)(81166006)(6486002)(66066001)(4326008)(50986999)(76176999)(50226002)(189998001)(72206003)(36756003)(6506006)(38730400002)(5003940100001)(5009440100003)(110136004)(107886003)(42186005)(53416004)(7736002)(8676002)(48376002)(50466002)(1076002)(3846002)(6116002)(6512007)(2361001)(305945005)(2906002)(478600001)(25786009)(5660300001)(2351001)(6916009)(42882006)(2950100002)(33646002)(8656002)(47776003)(53936002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1725; H:jerin.domain.name; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0701MB1725; 23:Wcv9m09Ho2Oj0azGNIN6H6tb2LeM0ZZpCgqzUoO?= zhDhtFyjsdfCwzxhRFZEWRNYnivAPnknaVFqZJL6OWaOi6QLP1vl4cW9sltAKujnYFMTOYWCimyvqMWwNVYzX11Zge6YzrKIQVrJggC7m9BsyPYbD0yfpXNh2ikVsbiutZBwL813Rh2yQY6dMNiCBw19mvw2Hl0Hw8EcCweRWQ7Eyhm4ZdEotrx7Bh9ZK0xR6cXSFAOLGRqpmC7RDgdxOvwDUcQA3wc90d/AtvivlzFgqasd3cVTvr9rlQOyCi5ilzQtXX4ydNMxXUQy//MT/u6oi1fcSoyfqtlM9XYuQyr2P4/0XvNbK8bjwwGfRAxtgAxnRlIRwcU/X9BnNtMn/cP+JiFfRyg7OBi6b+ekF2nOSd3Kna+rzYHlqehWk+rXF4EigW7bgQ4dIHtO6nqnvLf1qPQu3Ugl5dsTdEhUHNlCAhgxlgxO+gKCanf26ZbSOyQwvypUyistfuPsnqnoRVoVPxVwokhiYAVQaSSV0Rbc+cB7LTqQnkx9lnKcXZCc7tUZykAc+7BOaWlY+JWCpdqoTpv+dV29t92M5R+axoAIhWhTHCF1U4VIuN+cHrDZEesMYsNKvIEzmKQJKQhB/JPclq6/IaRdSrv4nsRDeTaAYnB35C2NHr1+W0c8YeR90T25k2GtOszG1NCkSqskSi7JvQ0I0pNuOGwKa02YAUl85FXf3oO2Fy1kkmeQLaoFzcTR7746C0eiYn4QIFWq8USDixiGDJN5hQ23j3ZPHVOhc8atF0E8eW3Kyp42BOdTHV7nvZM4tRbrnyBEwdrkAzZwUk1UyMNatk8DjlWuywjwlkDe86+hiY5ZlxDa+wcBXa4JLzGoAdnmp8IRdm+5ge9rDEU09RYdjmtq7uhz18ppMsi84E5RrfCSG6rfR9ZTC6tk/+fGtzoUqe5iWPp3pufWAmDyxiQX2wyBJ7I1bCC+3RwQI5/tIwe5vJ4dPhdVw1HEePsD+IqxyEOjxH0trnZrjbWeyjOkOnuWS0Bt8aRfq72xLk/6yDnaJOxAafUEOqIdTKERb5SxVvhdHAiF7Bfdct7Egy+eciUN8LwXxgjaDuXMEjE8kqfmt6TgyNCgAzriqHBl/n1mI3dg0bbBnhwt8GhvuOpfmf0YWIN/4tEiIUL4w3UKBpF6z4h2nNdbsf8U= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 6:67Py4isXGZJrikLnNxpeXgdBI2J+i/ZQT3w2KpximujEZUIlhhLvNvt/5q7LV286zN4lsW6gomxO8g3EeGC+L9dhrWisWgLAi1Yv6f92SGf31DsCcdN4Pq+vsCp/kaKWQd1iNmM5jGD+wtYCcZw+DuOiqrFwvfjXgsgQT/haYHL4n+/2Eyo4DqErZ6xOE4kDQNprshI8Fxsew3ZL1eZmAlCK5B3b5VcZEPWCGS03PIlbJ9AgKEXyrXWnb2X99WQuRKfMQRGnE4+xBn63t0RFKNbdlBLdqKDp90+U7sNgKK1CdI/sUnyYmSUC9Jk7gMp3ojGTN4IJYPAzREQCMNdQ/9t6Iw8X/9JNOsBwzZf4eKxBb+LHFBf9hQfIx4i3V54yxp9gACegj3K/sYdjxhQcioZTrJIJ4B/olCACZDOI6k+B4tXIYfmSPIJt1+oPpvPfl+ffpyOdGQtisWnqvE1xIPsx4IAbkreO9lUVnIcydKJ70S2Juto6KWyiUVMscos5HRULzoeF7Xg8wP10Axx7MQ== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 5:jRYjI3tCPOYqCr3mZQE7i2TyulV5uVcgMvV4BMlHIpxPOyvXse4xk4sU70jDV6Sw7ZkY4NnNwt26j6UvQZWwcNi8MtwAUhyQTMhEskZVqITZDYIerWeIEkCfi7F2hPP8/Zrh3ymDSStQrK1l3BbTBgUvitAGSHyOLP6KVcSVkyHU4o+cXMdP7GwMAX2tJpJkzosJBM725rdJRAPt4s3IkC2+ABG7UvRmAh843ypi3CQYPv7slL6+TxB8PJgwoZMqCVdi41EjOP2O7IIZjPGeGuPiR91EyyzychFIPBbFSBHyvtViNZT6y91kPBVc3TZenGo9CfXzcJrDYj9cPMteZSvySsYeft9ZxmtZbPJP5QgdFpRn8AkpU4pEN+uEVtFIlKKd75o5K1lupCFcjl9o5Q6H2yXvMy5q/E4Fy6AlgVbLdZ+Wm3S0VuVhbWIOevjAoqIeCKecZ7IwBmENJL6G/oUDge9jorH/P0lBriG3qJfLEeOJ/rGncy9XMzbSfYHG; 24:w8tMj7JjBuL8AkXpNZt0RGEBX2c0dvIgxwDTa8MLUR1o7k/Teg+R9dW73suGOAmSY4c6ud7oy2C3udROJoBbXMLjucsqx/ssea9TKOwiOlU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 7:pnEeh8oExAts037rpRM0sVwtT2gtxSy+AuvDOmoWaFYtSSWWT9+XyxH8iyvHMxUvYQ+dPCsSZ1NiIDCBdHzQk9Y2bo8q4cUbgLgEfINno6+hJzAQvTQOA4+R+XPefhJVDnPFBgswimKaIv+io+b/V4tdKqJlDJZLEHMWQ3nkDzY9FWhOi9RoWkNY9pQCZ9/pPs/B39KW9odlTAV0g+4sBkpWrWBLzYFxvfsZH0WcNJB7bHNi7XZ+U024dEm93rM7K51EBHQHZAA6Jp0Et0ejz+ijdmREF1v9+0kriXmeGrfCVxxoOulhOBhOqzwp/1bdeXyWv0TjZoyNpGai9J/Bdw== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2017 20:01:41.9800 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1725 Subject: [dpdk-dev] [PATCH 21/33] app/testeventdev: perf: add opt dump and check functions 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: Jerin Jacob --- app/test-eventdev/test_perf_common.c | 109 +++++++++++++++++++++++++++++++++++ app/test-eventdev/test_perf_common.h | 9 +++ 2 files changed, 118 insertions(+) diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c index a44f2df5c..f889b1a59 100644 --- a/app/test-eventdev/test_perf_common.c +++ b/app/test-eventdev/test_perf_common.c @@ -41,6 +41,115 @@ perf_test_result(struct evt_test *test, struct evt_options *opt) return t->result; } +int +perf_opt_check(struct evt_options *opt, uint64_t nb_queues) +{ + unsigned int lcores; + bool need_slcore = !evt_has_distributed_sched(opt->dev_id); + + /* N producer + N worker + 1 scheduler(based on dev capa) + 1 master */ + lcores = need_slcore ? 4 : 3; + + if (rte_lcore_count() < lcores) { + evt_err("test need minimum %d lcores", lcores); + return -1; + } + + /* Validate worker lcores */ + if (evt_lcores_has_overlap(opt->wlcores, rte_get_master_lcore())) { + evt_err("worker lcores overlaps with master lcore"); + return -1; + } + if (need_slcore && evt_lcores_has_overlap(opt->wlcores, opt->slcore)) { + evt_err("worker lcores overlaps with scheduler lcore"); + return -1; + } + if (evt_lcores_has_overlap_multi(opt->wlcores, opt->plcores)) { + evt_err("worker lcores overlaps producer lcores"); + return -1; + } + if (evt_has_disabled_lcore(opt->wlcores)) { + evt_err("one or more workers lcores are not enabled"); + return -1; + } + if (!evt_has_active_lcore(opt->wlcores)) { + evt_err("minimum one worker is required"); + return -1; + } + + /* Validate producer lcores */ + if (evt_lcores_has_overlap(opt->plcores, rte_get_master_lcore())) { + evt_err("producer lcores overlaps with master lcore"); + return -1; + } + if (need_slcore && evt_lcores_has_overlap(opt->plcores, opt->slcore)) { + evt_err("producer lcores overlaps with scheduler lcore"); + return -1; + } + if (evt_has_disabled_lcore(opt->plcores)) { + evt_err("one or more producer lcores are not enabled"); + return -1; + } + if (!evt_has_active_lcore(opt->plcores)) { + evt_err("minimum one producer is required"); + return -1; + } + + /* Validate scheduler lcore */ + if (!evt_has_distributed_sched(opt->dev_id) && + opt->slcore == (int)rte_get_master_lcore()) { + evt_err("scheduler lcore and master lcore should be different"); + return -1; + } + if (need_slcore && !rte_lcore_is_enabled(opt->slcore)) { + evt_err("scheduler lcore is not enabled"); + return -1; + } + + if (evt_has_invalid_stage(opt)) + return -1; + + if (evt_has_invalid_sched_type(opt)) + return -1; + + if (nb_queues > EVT_MAX_QUEUES) { + evt_err("number of queues exceeds %d", EVT_MAX_QUEUES); + return -1; + } + if (perf_nb_event_ports(opt) > EVT_MAX_PORTS) { + evt_err("number of ports exceeds %d", EVT_MAX_PORTS); + return -1; + } + + /* Fixups */ + if (opt->nb_stages == 1 && opt->fwd_latency) { + evt_info("fwd_latency is valid when nb_stages > 1, disabling"); + opt->fwd_latency = 0; + } + if (opt->fwd_latency && !opt->q_priority) { + evt_info("enabled queue priority for latency measurement"); + opt->q_priority = 1; + } + + return 0; +} + +void +perf_opt_dump(struct evt_options *opt, uint8_t nb_queues) +{ + evt_dump("nb_prod_lcores", "%d", evt_nr_active_lcores(opt->plcores)); + evt_dump_producer_lcores(opt); + evt_dump("nb_worker_lcores", "%d", evt_nr_active_lcores(opt->wlcores)); + evt_dump_worker_lcores(opt); + if (!evt_has_distributed_sched(opt->dev_id)) + evt_dump_scheduler_lcore(opt); + evt_dump_nb_stages(opt); + evt_dump("nb_evdev_ports", "%d", perf_nb_event_ports(opt)); + evt_dump("nb_evdev_queues", "%d", nb_queues); + evt_dump_queue_priority(opt); + evt_dump_sched_type_list(opt); +} + void perf_eventdev_destroy(struct evt_test *test, struct evt_options *opt) { diff --git a/app/test-eventdev/test_perf_common.h b/app/test-eventdev/test_perf_common.h index 442ec99b8..5c56766e5 100644 --- a/app/test-eventdev/test_perf_common.h +++ b/app/test-eventdev/test_perf_common.h @@ -86,9 +86,18 @@ struct perf_elt { uint64_t timestamp; } __rte_cache_aligned; +static inline int +perf_nb_event_ports(struct evt_options *opt) +{ + return evt_nr_active_lcores(opt->wlcores) + + evt_nr_active_lcores(opt->plcores); +} + int perf_test_result(struct evt_test *test, struct evt_options *opt); +int perf_opt_check(struct evt_options *opt, uint64_t nb_queues); int perf_test_setup(struct evt_test *test, struct evt_options *opt); int perf_mempool_setup(struct evt_test *test, struct evt_options *opt); +void perf_opt_dump(struct evt_options *opt, uint8_t nb_queues); void perf_test_destroy(struct evt_test *test, struct evt_options *opt); void perf_eventdev_destroy(struct evt_test *test, struct evt_options *opt); void perf_mempool_destroy(struct evt_test *test, struct evt_options *opt);