From patchwork Sun May 28 19:58:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 24812 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 9EACD7CBE; Sun, 28 May 2017 22:00:09 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0050.outbound.protection.outlook.com [104.47.36.50]) by dpdk.org (Postfix) with ESMTP id 2DC827CB6 for ; Sun, 28 May 2017 22:00:08 +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=xW/y1/j6taQsCvPHAwTkogTS7V/gmHUDRSVlu1vQhX0=; b=ga9n0/T4VBfXTeDL2zbR/GuznOXnhmUZgW8a2KM6Z5CZ+tKSJHnwB5xUAkV/y7NrtrTwmif+RvKYp1bPlJs9ggKYqVBK4X22WtcCQka3WjrArO+v/t7gfK3R2cS8DOpTIpzgc8E482ZnSH8YiHUYig9xL+LzML9EYZUyq5431vM= 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:00:03 +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:26 +0530 Message-Id: <20170528195854.6064-6-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: d2e15d1e-3a91-4b3c-cfcb-08d4a6042380 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:CY1PR0701MB1725; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 3:Gmv2IiP8UNmihAtIQMxf3Oxi/q4nWawq74bxLoaFo5bJCwrLOBpBjMwNWppfA9T+BPODCzegf/1mwT1lmzpc0KM0z1+ieid1mStOyN0A07L/N/2/yqED/V+R3xjr8hs6Plldspk63n1OibNDxtvteQDmTRWFw0sg6vSuYU3xtuoff2YylWI17qtMCUNwAn/xCjU9rZ6Ag+5lFMUlXV/0OpGB6KET+Qjauh5HZy7FJ6ApORFnAMbLzukXyHo4UAxz8uE4toHMgEi4/RKf+KjYRHtt151vxD8jTiUOUc6DPArMBPAnT0COeKUFNIbQ+bnNdFYZLLlfrkDaFpMDgAMWJA==; 25:WA5G38PJgDGxebucwuvypkvVLdHKYeRvLZQ7ugBnRUmaF/RtLceY17RkOVUMoFlAZ0y9kVbh/EqJdmF82JQ/S6xJi/AvgQJMC/dZvwhbr32r3XRib0PFqizAvMNSCcOwLH1bwluNYAkCvaJgOdVBGMzaj0QTOMgrK/DFrYTzUN6VsB0T9JLTDPJsmYyGF13h8mYZD2hfpbDJlndxpVXZpqR797uYRyncZBFLn/gb694EYNPadCaJW0CA7cqYkrQuphYw1y/ok/4qP7qOJJfP0SMHjsk08Jm+1p2SSNHpWYR+nYT6zEW72XUaklCEy36XzjZ1nikLr3+hAma4bqsGDATfqZH67cMwl7jVNAp5LPbRIHLfBTftLhP59MdbaRQOitRq+RY+C5QheiyXTCm8TLRUmfIkQq2SkKsFtU+cm6augeHf6FGquRlJ7Ufgup8YA4RfQb76z1SD06As6qZ1a11coWM0IDZgtZ9XsfZZKDQ= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 31:VIuE5xPZPE8aCGY858Ix+SiqKnzb5jVdyVMYGeh+2yV+245Ge+65RoI8mc2Nz3/ahCOTOoJGg0UV+5q58/0xJto1C9T0jAMrzMsW/bitQ7G6C7N3qZxJhKeMkTsHZcO/MksC0Dl3SPACCwGPqdV+PbPMH3rJK7ao5gbTpxMb4Q6CsljFVslL3ymfr6cwWPXL/+AGo2pDxW07ECMF3AccxYq34ZLxTROYVoSNuU1NNPU=; 20:tVmhw60a5ojQAJoN7wIr5IoioezuVnam1fg3qkvp6mKPqk5+vDdea3zMZ/f1ctVT/akzP7l4H/PhiySEflLqRCo6aPXdW0Fd/Tmag/k0KwKyNeofTMCyV5GyoiWVFHj7sTSGYWbXa4AsIH0gQY2BlKaW9vfAlK4xKjWq1UN2OfyxYIFkrlOYi5u8f9lj1m08qPQ+BPXXrk4fwXvesQTO5mMB3GA/yvcgx/9idsesXUZPId8noZYDQsuoi3tG+jHU5Ct4zsoG32aEwDLSea5d59vRPCnRfD/a/hewPP7bDChJoZrtRtfUoqilYN4UhVWbHo45O7ys2FTn1GEgoYMpc5XvZ1pdShqRTG+JsWQ7n4lQQPGVH1ZsVCDPX2cE0AbrYLcWiNvYJsv5+v8SqCeMEYJvNNLgtIcJECbfDWUZ+QpkWHHkRL3D/cHtbYd8m9m0snwMyaaTtVDyybToqNKcx3d4hartPXsBzQUpb9n1OtqdPHVXitjbulDl6ufuarUyt/tluPCCm/Il37mxfjwq9YEqkP22aHHrSdtNKToCp62GUYkeri7wvfJhwl3+US+ToTibn/EGVFXClCJGj+IjqT8x66vZamhQpDdvMvzbtWM= 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:riwWXDyG9269HjzUHWjI7pwkEo23E7OtHM9jXO43?= 4pySiz4EYF8r9dE7SvV83V6J3mUehYHjXoP67/9PaRzp1Fw4oIiR7a1Ah6uSvewqAVaAh3MB7JvXjYAciABiRzKH9vjndbcX7fP8eL/sQ4TxnMOSB9xcrg6VBmQ1AcUmiiWsXjhekLJ+APo0umGTRLdXakv0Onj2WzIyzWw/VWUBdsubo/GrS+vvF/EU5NLy9YLjpnBJsR86nM0Ce6R+CFX4Y9iDK6aV/0KlpJq78xoRu8rDSrxxvBOuO7GHp9N8/lFE5q5v+lUX1BMaJODodJLdDO8/FUTsx3BYm3hsRoynZyd6fQSwPT+9DNsWXvrkKVOi7s0KuBLqyDsKQ3LorlaHSdstCuM7IemF9n+hUYDMUTiuxouOysq3QWhdKkO3+Ws3iP8fVDNmj+YkDavOpqozy/ijU5jn/hMGH3iZ3VBsbuTK2XgzFtRydQFDcBHkQ9RIUSUNazpWdSQthKkth616Hv6ugzqQao6Urr7qkVZihn1FumY4A4NRF+Enad93DnEeGAxDAhsvzfiyIA/0tpvBjY4BzzGID4XglBJkI49ch8SHjno3dMF3ALeU804iBJe8yfNN3k7AA7plu3FpZDPV8G6jm+JX+6NGRfw8jEMen3NjMamFwN+/EMsOlP622hKsV8vgUZQcZ0coiRTqiXQNK4A+9ya/jcCNYUrYC02sxbGcRmpLwxoauS1+9fkh/dMBTQ2Xr5NhL5VRuiQOTsJXID8hG/mtRNGIHG6ghyOlmwclM/XNoFrd1djEeOwQ7WE7WNrohtOqAGHTtQr1avGyBDo7WNROWxWJ+7Wg5FQ8IWzOH/bJGuUn6+FHBViKbZwFSDhNWaCebQALfMx9O/nEadSIx++gaRda/FeUwIiils+2/CHUhcyKSKMgwhtsDJ3Ro094lVJC/ntQfmm1U+1pgfZLlnqNZ66d/T8oQdmATmLOYcVc6aepc1rLauX3wmLWjmIIo3zHuh4uW1s5mO8Vi+laxfmT1jXM6QuxAGaqqBOr5yXKiX4lPq6L5O/HlpxSuyWgjB0oLE33blu9WdkD/0TEFy7I8FKvvT6c7vn9Z9HHSkeVxaWRphjqolGZvvo= 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)(6666003)(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:y6x4xGub1bMZb1OrInJonemR5NtMbxsvRE3h2Rn?= 0AGt9Yoj46N7ZsVQDIGKUjiPCFvcBlS9MJlo4JyrKL0FkpHPjNY13K4ig4umt6vjmEYgZyQZwSLpRJrZLCiDansoAEYKvvLYpAiMXie1r0BsGPx7bNrZ/PuWedavmYTWhHiAuHHPHQD8N7Ph4MrO3f8Dobch1nc4XawLAy8y0VyxkO0hxv5h87v82u5jll/sACsurSn3PO0RrwkFGWQ6Q7FhHbxprugrcl8soH4usvvAFNFBcMtewtok3ZtYzbW18zcv9Hj2FDhSnvaQYhKK86ytW55kVeBxd1qIAzyeD9WgjDWTRq+7Y8jnJITHwO9OLAp9P9IuD2nsA1HK+lvfRCfs4KIC5vb9aBkd/4EBfnr3BaSwv7X9W/RNMpG+DUKpHyIaYv96p9cCpWp1yPWA4cHb++kK/8uPRIMFnQPWWgtZOoL8DmS4paGhTv3e0L6+D2fMP52aJpUQzMPk83aghEgkQ+sYrI6w109xPqTnXOLpwUjsRvABEHQx9b5P04xCd6T9GfG0Mycxup2bx6MDj+qFXrXWoTVoYDPOtUkkjYg5xATv1xp4eNvKDaywgM60Hqm82ShY9bC6ilqGrUHpWjdgvf9hOq52YNJ0rgG1aHuxQ/gXENHZ3m/rXlpohBXeADDh6vEX/bfdT49k3fuWB1mMC7mOJP02diTykyYtikp/bRYDh8/td5sq/EGT/d4GGph3yb06MY5SJGg1kx8M0Sr1IxZr8FWex4mt03iQRv1LfOR6PNEqSGRTFcPhHOBUNNPuVERTBAtop5Y3LxSfxj/pShOJcKibsjDI7IOcJRGWvVRGe0xFWSUU54GlTvPqjCrY+jZ8igOQgk4jWFkz30N7rX9Ous/WPXNBPCaGIc0SzllxWAXHmY+xMZex/OXiSXYmE6yVXmt62ddBb2QOal0bS/YBRyKocF0xXjYjVz5aKejHLqxU+2R9eWkBirMnTGZiP4CjCrQ5CLKCd0enA3IkJcY1I5pqM2E8I7f5Ep7UQto88KGeGwceX7+u3PFf3m//Q0ytH9YFJpwzoAsTCVhhdHojIaG5a3yP4WYweVpwLiBL3V+1EqkDfHtzREDpsbHmVRdy7gkm98StewuCNEDi0HQs+s5QciRO9KkxkyFnZY5UjxSgKc3eSk3yHs7P2zZ2YLIVgDDjggPtY6olGknXL X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 6:MxcCb1tJWt6OdLlCw1H/W0IIgt5ja/U/iS6sRPWeupkbHM/sMYwEf9TDl6tMZIjX+JA3mGCy2rL0MpaiO8peWDC/yop9U70vlOcPV/ZIiumuKlFhcbJNvIVPQr3bxrvwHXE2Md0qAe9UMBIH6JDJ0FCOKFBnsVqNC2m+NMsPD5tWKsZuWsMsDQRIwIm2n2dA6AhLDhfqtS3t0XX+CmYKCnZzj4T4IbZVaVAyfKIPoL/nAu7uzGc02svzmKT1i5kle2elf7kPpwd8hDNN6IS6tdTfhMg6S1rTR4DgyEuViiK1p3ujFvBrcXdWAoVphl6EdYj2A1sqhePS0VN0vSue5n3NjIQmpkIcGYJnsCGHg/B+TgkLzv2tkF6PjLCEhmRLRYg3qP+r6L5Hg6GDZKna9rzdrLWrniqs81ArStMHTsJnCZrTG2j5OvVfR9Rof+SmvPXOgJ91Hli+9F23TfOX9PSClrgfATqXxcf4NKHZNx/OehsnM5Uw0IC/wu5B35SGm1hEWa/exImZ4GkodBveAw== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 5:uMH7bbOZoTqV1WBUy0MVGDGGbVte+TmgcAiB52CKC47VpzzldYPnZIjpHAJNNCOZTWb9Lemb4/XWwzQ7tjrT6LlXHjN/e/PtGUyP+A4i2tAY0nvK/PQ57gTdTLrwzExaf73QWKkTYzKD03uqjEFA1CNrWEQWfgdi4eJXIFJGPgjR7VAWhiEHqxg2kLyKnPSNDNL3U6D/yXhUmrHFeA7sttOvEuTaqKS2KA30TW8GD0y4fCdSdWERIV2BzjH4zU0QYbclxEqlqlJGf1RjOK9N8FZ4grNl7XJ6GflYHOy5Kvj7Hn6wGQKixIePU2W3zDR0fV7SOh/6vsHnYRJrTSXmf7+VHZda1Hm8akUehnKdcht64aZmkwfVqpwD+h47YHdqiX+/ZMTM64on01uyQwENUyJAdgENhOjRIYLxHxfNMZKw8Zo3fsB0Iy2LiKJ9x+3qrq59OIi8CkdVTj23MsdIo0AmZT2GQHpCZitVVMLllcFWOP4IM6IKBKVmXRO0LlaY; 24:QRJjxziX7lTrY+6V7aD9oMrwAsGQlShuhw2OJVTdaKJ3K/zNoBzXNDIakJG7ZivZWvndmTKnUyUR2V183beAvfCDWxlr2jMPi4ifWwUmCRw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 7:6CNFLiXy1QdPlEbsfRKu/8pxrSp1xRY+cQdc4TzuXtk2riPzvvRduE2oXA7E55qQVXxfptZH8Gy3d2VE0c8Ec8dlB4orY46SXHeQvlgtYFmh82hFmusnTVoNkxY1fkQvXtGAV22VBrNzNLQbiKmGqUm7NDgSL29oNH2aQDizv472w0LeObn2+fH1zPD28OJqva1bxFIKyeJvoU/q13b8bd8VIx9Iu1mrd4J7NMnpWf6/lPZXg/JAgUa6UwL1ndifc0oZJrSANVnMiQz58WCkBVSQkln5LgD1F2kMfJhtojaBxHHQ23AUkEjxIVhnbI/lwpLS/VFogERaG6/aQ5GGqg== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2017 20:00:03.4887 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1725 Subject: [dpdk-dev] [PATCH 05/33] app/testeventdev: add common helper 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" adding common helper functions that used in test framework and in all the test cases. Signed-off-by: Jerin Jacob Signed-off-by: Guduri Prathyusha --- app/test-eventdev/evt_common.h | 105 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 app/test-eventdev/evt_common.h diff --git a/app/test-eventdev/evt_common.h b/app/test-eventdev/evt_common.h new file mode 100644 index 000000000..85e62288a --- /dev/null +++ b/app/test-eventdev/evt_common.h @@ -0,0 +1,105 @@ +/* + * BSD LICENSE + * + * Copyright (C) Cavium 2017. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Cavium nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _EVT_COMMON_ +#define _EVT_COMMON_ + +#include +#include +#include + +#define CLNRM "\x1b[0m" +#define CLRED "\x1b[31m" +#define CLGRN "\x1b[32m" +#define CLYEL "\x1b[33m" + +#define evt_err(fmt, args...) \ + fprintf(stderr, CLRED"error: %s() "fmt CLNRM "\n", __func__, ## args) + +#define evt_info(fmt, args...) \ + fprintf(stdout, CLYEL""fmt CLNRM "\n", ## args) + +#define EVT_STR_FMT 20 + +#define evt_dump(str, fmt, val...) \ + printf("\t%-*s : "fmt"\n", EVT_STR_FMT, str, ## val) + +#define evt_dump_begin(str) printf("\t%-*s : {", EVT_STR_FMT, str) + +#define evt_dump_end printf("\b}\n") + +#define EVT_MAX_STAGES 64 +#define EVT_MAX_PORTS 256 +#define EVT_MAX_QUEUES 256 + +static inline bool +evt_has_distributed_sched(uint8_t dev_id) +{ + struct rte_event_dev_info dev_info; + + rte_event_dev_info_get(dev_id, &dev_info); + return (dev_info.event_dev_cap & RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED) ? + true : false; +} + +static inline bool +evt_has_all_types_queue(uint8_t dev_id) +{ + struct rte_event_dev_info dev_info; + + rte_event_dev_info_get(dev_id, &dev_info); + return (dev_info.event_dev_cap & RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES) ? + true : false; +} + +static inline uint32_t +evt_sched_type2queue_cfg(uint8_t sched_type) +{ + uint32_t ret; + + switch (sched_type) { + case RTE_SCHED_TYPE_ATOMIC: + ret = RTE_EVENT_QUEUE_CFG_ATOMIC_ONLY; + break; + case RTE_SCHED_TYPE_ORDERED: + ret = RTE_EVENT_QUEUE_CFG_ORDERED_ONLY; + break; + case RTE_SCHED_TYPE_PARALLEL: + ret = RTE_EVENT_QUEUE_CFG_PARALLEL_ONLY; + break; + default: + rte_panic("Invalid sched_type %d\n", sched_type); + } + return ret; +} + +#endif /* _EVT_COMMON_*/