From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0061.outbound.protection.outlook.com [104.47.40.61]) by dpdk.org (Postfix) with ESMTP id 89CF17CBA for ; Tue, 4 Jul 2017 06:55:00 +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=ERxtMwAb8D6nlVlwdqeTk5EsiKDNIqlQjESrC1yo1Y4=; b=Svb7MMTZygSrQx69kQ5NjpG75Rp4ierbV49++qNOcKA5Jq1QSA21wgBIhe3C5/pAHTGiNyouXfXTim2yEw+Q9HAr22+l9qw1ZybOMFAH9NUhyAUx/PcMenbXYrDQWwIlOrWWtF2IBlsoIUzOyjRsNHhAkCrRTNS2CWI8fEUHHJk= 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 (106.200.206.49) by BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Tue, 4 Jul 2017 04:54:55 +0000 From: Jerin Jacob To: dev@dpdk.org Cc: harry.van.haaren@intel.com, bruce.richardson@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: Tue, 4 Jul 2017 10:23:10 +0530 Message-Id: <20170704045329.24711-16-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.13.2 In-Reply-To: <20170704045329.24711-1-jerin.jacob@caviumnetworks.com> References: <20170703191402.3638-1-jerin.jacob@caviumnetworks.com> <20170704045329.24711-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [106.200.206.49] X-ClientProxiedBy: BM1PR01CA0106.INDPRD01.PROD.OUTLOOK.COM (10.174.208.22) To BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 622ceee6-225a-434b-a63a-08d4c298d253 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BLUPR0701MB1714; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 3:FHILZ29ISGfqNC/IgMdnFmJ7Br4bvU/JoI2MQGuo7lUsAecmyBw1PaEtJz2f8S4IbMXNMF3WCKCXsTS+thIiG2NQZheWanL0kVKa5cQi8j6rTGUo0Cn5aGYl/UCiK+h5YMAu9hDwD8Md7TyIuHBHE/dMGmS2DWHsHw3XNoy3PaKP8nDlPkfW+4J8OHLi5fNR99cbbR36ZCjdszLRrzNJwAMnP5zS9Xm9xzUNOhGuioabp7s1kvyXLPYF7WulZydAjpXetMsUMY87fn1dd0zGV/kPYCc5TdgCna/2qTvtRPeOgCq4KEJmM4NbnaDq/MymKZROZh8THaTmkd9XZrqFFm6WLX1JgIHM+YIO2uzIB61g8BsdYTZS0N7b8yV12r5gB6PSQ9YApXLNRojrJhlOsq2l9L8+Mya5Mn9EYfzdsLGy3a0WV5H0psJ8ZByN1Sb0fOgCaGM40LdgsFJEnkVjNIQOzfbSBvJnyMZJuvXF97W+zA6T8dPzCxDdPJ/U76qBVBDwphKGsTZQ0mhKgVmYOz21qKLVvxgPKcujqbTzmmcLwCRBRMEVetSJvxwFTCWlzLPKapQBdg3WYzoqwbcGV2rElyyDG4VQ5t4mRYwD5hu2MRb1l2/5D73PswJWwewhot3oZokcKdQt70+EK64mmZSNEMdW+/j7VUnp6tXoTnjZVXHgJaqlnYXcpklRRTu7cxyi3KDSy1xAyxGqkZLcBazPJwZQRyV6rYuYFJ37FEsZYsNmrAh1bcUtYLKy+yiv X-MS-TrafficTypeDiagnostic: BLUPR0701MB1714: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 25:xLwk0y6M6Y9iFKURhb77YUnAd979nKDZ3jF4R3aIf/DO/BiuyYIPuyLnwlzb5U5b6tMUebDI90ueSNfTdCr8AMONblemvOmGxmj6RGfqEYUSGnWJeb4bqSDxD8RPT4N3boTLsQLBjo51SW16OL3UMzF1P8qISoIKo47dZfn9VlZwJkdUjb/5PL39RiFtl3S/Ae5l50+gT81be5Bpt5FxWR/RhsU/R8kISPZ/9ruiBBMuGKIw5qzK9FO1054vi5UT6CuBzFxUG7vnb6nzwCIlp9+ZvmUepvh360Pm56VoNygoYAruPtXRJcZ10SL2QczqTXykP6vwpq+c1U4xrL8fgTNx30FEz2UnnrP2FJwuaDlpK83bx9GBcOpVs8qeF64URVOGsXDisD04N0bAs516QPmyW8t6HA0K9RHuLyfNtQuUIn5zyynzr3ZW0qZDBl36TxwHGRxk+8PaTQsdm2LNCutYL2uM3o+etg58Mg9sUY6unvX9QCWT+7ZVw5H34dM9oB39FwTm9qfMXR3DVOlYvS8WUYDBqKQDbizR88W0r6t2Fnz94DlxxCUA4mSFQcXzS4njWTIKdb3ti9CxsmMQ5Y3aOGSqdTj7UfAemYIJY+uVmDfGp/ao9+HseuKY8UFJiQ/IaaId4Fmv3V4ztCtknjXWrVk0zTPbyUH0Ai+pU44EqQ4/8Y90ndgrbAUMaBhTjjwhMHt43xEo9FGWndAC9lyclopZvd1Gdp3RHwg0nj7QqnOlSVWl3QqqstnwjKN0kJYPfxXauPEqxKlHRdwoloFKSbbzED1ViBX9/cfYYSi3Sv45nBIPyF9IMqp0RwcU2eAdgH8FeEeInRvMbSUMd534vkn29io5D0mmYRCamGf46HhHLgMKXIFD4Y7YVBYK4SxqahoZ/3AO6VuY/F6g7IWZu8mN2Bn4mmmPUj2U/44= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 31:vyF7vXXUcpNuc50wHkY2TzjX/n/iIo88X6cgP5cLSmguY52u1cSlVtxsQu8BBs5ZUwljlNmXvLmPGURffQDWifJ7N4PWrRYmNJCGE5ZL4b+7/3Mkxi4hif+IsIRVBuRwf4kJuTkgUYWyuSLvnV5zh/8lSd3Cus6h1T0R5BB89COWpkYsZi9YX7K+nnr2NIeIv9aR3j3kfNSlsjGxyEmUuRSZ8SJXI/bbpcnekM7wfQwD+st9D5A1t3I4nMS2SPLEWkEZMFiPVoz96mCyqu6ZobxQwzR2FK9anCZuJt/K4lud8XH8VzkNjmL1BPLpUh/R5LrQNxzHAxFisxrqUKWexf21WN88Eew5m2yCabprCe33X4pz0v8aMZAPbUNGUxm1qS3B5InOciCx4Y4X8W/YzZ7zFKdPMi5luXF1Lorsc7AvwcxypGssoN2Tizsbem9Z8Pv64V90aPByvI4X2HQCCP89bcqoewpY9N2+zGswQHwQpCsgnRPpbOeHXAu81z1LToOiPMZMDzxFyribXVnVuUpuDAyGPQZ2khw7IpuQYqFG8IjG7cycOeNJVuhkXeX1edexw0ol/XRwe8sRYqhEQwDpiYe9D65GD98YehEw82LFHETUfCffSxn9qpS+f0BVI8ZfdRY4tBxTt9SCBgA6W0icZChxBenJMM3zJurKErE= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 20:Pn38V/l+5e9WSj+Lbi+XetS6Bma8NmSOhI4F9SFacLWzC4vytGmI7Ow5RdqRb12WjEo9eJgMpw7kPLP168JlG8rNGeyYilVYQ2L3KwvS5YT3zVso+tCH+Iqdp2oOarJQD6B2PCk7/54NwbB3yvH0T7TIawxklDJ0xkKJGRckQ4eSmvLAQJd33tyaDAwkkU7AYoJYlsfr7+Ee3TxyB4Ln9wHOV4hStde+DelT5Vu2fwYf+FGUv9etaUGDQ/ZfypJje8s8oYsPNLEDwvFc1RNIWLqM2iCa6Tg1p7ojvnl+yOpvZAzP+uprpPQtuLLHsEK8ILM6oGT00/QdX5Htm36Q6aQOEeHNBuVJ+TLPpMVpgPQSefzm5xOQThfsatdLwSRdw2QYZWLje1a/3dvbvC5conMiGJeeZ38QoIMd4u+48HgiOXn+thtn+EdzYobQiNpqSHqN9WHM0nqUFfpG0M4AxODgTzjglK1UNrY3LOi+HuayiNdseR0ZZaJUCyq9sDwQMCoPJDqYLIyIC0SIsVt71crb2qM+hqct/NnmI07mogc1NiuwLtN+fJplaHZzhyWiMuOR6OEIzfQ/zoE9Wt3eFwqYv8EM/vdOIHX47axZgSI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(148574349560750)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(10201501046)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BLUPR0701MB1714; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BLUPR0701MB1714; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 4:UbZtcHx/F06O3YDt7PF1u54lAfnXsVi7z5Gqn84A?= =?us-ascii?Q?weEJzJ76wKbG1fg3RSuRWTHpizPu+AR6HjsPqkUL+mCSVKqJKHfSJ2jx1AnF?= =?us-ascii?Q?83g3jqJS/wmxa+FKSVsLyR2aycXHlHeJgoDvR5AZBo2x9se/FmZIUZwHiXT3?= =?us-ascii?Q?jT3MGqSWfoR5D8c6mcWSrtf63rVISdV1dajn4oN1nEZIwQuaKW0gyfYfAynN?= =?us-ascii?Q?JCKTAOSaunT8TZ9DlGULqZ/icIN9AWF3L6xzYy1ZqMdI5l/azFMJ7VNEXdRU?= =?us-ascii?Q?O5VUNoo78UZF44cFl5QNxe/C+vTOBjd+/gsa+FqM0UGFMzCWc+sXxGr2AZ1B?= =?us-ascii?Q?TKn6nDgauZaC6kWVu+Xhv5bCVG4glVwjgQ2mByRsINNiREHWzSMMOScIspNn?= =?us-ascii?Q?YcuJSllq2F4Xep10r7KNOplXcy7XNm9D7N547+kQ91LxCbJMIFW4e08NeXY7?= =?us-ascii?Q?c83x6WQ+80tvdgiOMXNt1TixDrWBfJ84FJ4X2z9BaychrVMdy9nhOAQ+lOX7?= =?us-ascii?Q?4tM2tUCG4mweIJF5ndfhGHZ/XTeHA0T7C4sNvOkgLzTSaBx43B15aJWd/nDD?= =?us-ascii?Q?0OQTCpTwh/8seeP+CgT/cV4NEmKL3kQ1s8CwiFMCgslwqfD8e8+jypy+koC4?= =?us-ascii?Q?HdyenzqyAMTHYPfM+anxEtrszBQIGnd47qrxJd7lIzjh0YtmX0hkery8/jFF?= =?us-ascii?Q?WiUf7k+LlJKCeznNuN9SPE3CZekGg1xh1vs+O7gepTFf73r7A/FBrwf3tQX9?= =?us-ascii?Q?VBoY2NIGiycctB4cpmEkIvca2kJge/R6BIafxdxJd9l0xF/RzzxeCkBQlkHB?= =?us-ascii?Q?7uERIzdASwH6H+zd4b9J3GV/GREdd+I7MRhwr9ftjMuRXIefcONWGSQQmcTM?= =?us-ascii?Q?8s5MmjfIK3FUQS+nMBzUJ+kBIk4Le+wr/MAky1GkDnczXSrvlgRZ/LyVWbs/?= =?us-ascii?Q?gR9tqJjcK8ZcGUbbxRNssz6q7tZMyfEvWGWizJQKOjW0qLN8NTqGdCR2XCS6?= =?us-ascii?Q?7gUsWc5LrRdxDlTd/d1MU7hC4lD1yMXCsac6DkK3GdCHYkgUpkIU2cwh/hEd?= =?us-ascii?Q?BfyAvlRrmkn7AiZv0c5n4fHpswNcZL+NmVXDcTw09ldTmSMHKRkBr+esE5/l?= =?us-ascii?Q?yFdufc7BxU8yK93yKnqux7od8CaFOxiTQ/7N7z+jUOSU6IeutSnwQlC9AySj?= =?us-ascii?Q?gJKtgfKxe7l4AJhFSAClY+9upVHjNgiqUztVXSWtglqqLzWwLkv6CAOmUQCi?= =?us-ascii?Q?nGgci1+YaWNapiXbAR8=3D?= X-Forefront-PRVS: 0358535363 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39400400002)(39840400002)(39410400002)(39450400003)(4326008)(107886003)(38730400002)(6512007)(42186005)(6486002)(8656002)(6506006)(33646002)(53936002)(25786009)(6116002)(6916009)(1076002)(5003940100001)(3846002)(42882006)(47776003)(2950100002)(478600001)(2906002)(6666003)(66066001)(8676002)(50226002)(48376002)(81166006)(7736002)(110136004)(2361001)(2351001)(5009440100003)(189998001)(5660300001)(305945005)(72206003)(53416004)(50986999)(76176999)(50466002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1714; H:jerin.domain.name; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 23:5dUOpfTmB9pUMH74AQD/JYhKwfwKekOiqQ3B6fJ?= =?us-ascii?Q?Aviu0HB/NmPw3mHyVTempMAdQ83tMRZ/qDKtmuO4YGQ/oKaeY96g6p10pcGD?= =?us-ascii?Q?U42ksO8u33iMIKPlJFsB9wXxbgT3cXIe3MIs6G4x5QPOS6EPk1aWHjTKvJm4?= =?us-ascii?Q?gdKfO/M42FqyDdxS78AFIcVg1ab66cPztUcUz9wIzaHKmDiLy6LTUORssuFd?= =?us-ascii?Q?gw0xMoyaUfJnVlsQZSD18VyKPdrGINbk2dOP+PBaz3Dq10q4y81ZpPE+yxXE?= =?us-ascii?Q?wVSUdIUGKvFgtPKRULxl8R9ziXUuCTCyoX9hlN8vfi8A0UM9uSK+5qYobfSs?= =?us-ascii?Q?lm5Q69F5hNTLUS96sqvG45s2ZbZfS9WRoAEjX/ZuATNoPGF2KoLyljGRdO6q?= =?us-ascii?Q?VKzYdM2aw2HufnS87+FPZnvmS19nSlYkXLry5ZIXVvAQ6oaUfwCUn2v+XmaV?= =?us-ascii?Q?f+H+Ub0EticI8arB5hYs/cBf2uiP8yvE7gEzBVkxvUqmpzWfeuYMzhPTQdbY?= =?us-ascii?Q?AcFfsc+65Y31AoLosW9c9QoEZ7sfYh9h0uFzI2zMO+rryGpLipo1YbmYvi5C?= =?us-ascii?Q?a8RBE3gCvyAP1sK9bbGrtndOBRHK5IKfj7RDtru/IDus5I40m+Kc6dX1UWih?= =?us-ascii?Q?hCdZOzT/6a3hUY702G5u1jexrFBs3u3jwESy0/jaAcRsOUEXLA34PxCG5wOC?= =?us-ascii?Q?zM3brCFk/kBXFp/e4serMG2OREEJoknZ2mR4uDCyhhsR0uNVg3UU5YlmE4rb?= =?us-ascii?Q?kgEj62FfmNx/tRHXSVFBAMfaGuX06GGjy5YzhEi9FTuUPDX3cAAaW27Fx9VO?= =?us-ascii?Q?XvFjs6bxtqxFphgKpxYzKKArNw0m0bhYUsVJ35JiuKOQ2pS0EM1j9wzoJXn8?= =?us-ascii?Q?c31TiYAyYFGI/yFRcnLi/o4eLZrEHZ4VJv+vJG3PNtz9WbVLefzXZQ5Vo36D?= =?us-ascii?Q?2nsMai9hSYI9QlVzpdNTqVaKV2Xd83HWHsrBfcj1uOiHyGctXCZvkvwTZzNy?= =?us-ascii?Q?l8Rrys02Kt6FyTeNMLPwHzCrjfKBkR3rVu9oGcYKpOLewSYWiOB1lDmQQliX?= =?us-ascii?Q?sQzf2qwN+aHzXSLKKFysotQQPhcj2kyM2GU5hj0dqo6NWtxGF0fSorZU4sMy?= =?us-ascii?Q?fedEUYolxPlraCsXikE1jzZO0aUzXOwYrM1WcvX34eYmjlHFEPSMSXLR9DOR?= =?us-ascii?Q?Yw4bVIYjg4JaKbOPzeaaCsPDMEMVwJDqQD+0O?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 6:q1FrkITFmNKVqch/ysfmqFAX8WQqJrRqGvxt29L4?= =?us-ascii?Q?1oPLMlz3GRjcEUibc31b7O0HTx3SWLs2YJ3QaFzmqFB36tYtMgJ7fjS4j7SO?= =?us-ascii?Q?YLgnkvNSOt+YtMmGsJhfsDeqYzwLJu0rw2FqwvlkMtac3z76qA0Ogux4Y7de?= =?us-ascii?Q?OYJBcNGlLL+L33j8lQviE58vFfoFVdPwSYfOWNiSoGtBqv133sERqretC3mp?= =?us-ascii?Q?B29oA6fI90ikxdjwEFbW5oVW7dZ6qRPfFEVHvJMCH8bZmkFyjHjGk25HiJ0U?= =?us-ascii?Q?EyDBEwJzz3GZSnT9L91fW5RsXUJyLa5rWnYExL+e97l1C2nz/r1tJoNnIAwX?= =?us-ascii?Q?XQWeWv5PtGgLCoJLtVD1/AhrZuQJyi1HoqiW2bGBWLs0Rz01o0IWiUxvzcXg?= =?us-ascii?Q?tgFUjtVY3b7bP8LZ73LXRrcrpKqy3O7qz+PKNpcctpj1M8Q15pNh6y8q/bZZ?= =?us-ascii?Q?BykVagX1cYVZH2FeTKjONEo42hQPySfvI+949w0XntvgdYbtSNEyclW/j4ix?= =?us-ascii?Q?iFQQMsDwA7Kg5tK2vKQxLJuNO3j80to1GdOobRhdCGJ83RGvAucDpdsJhGwQ?= =?us-ascii?Q?pQAFkQH3pLxy9T3VeTRnratoRlieR0vd8o3DmzCzn4604qQY/RiH6hXWY+kT?= =?us-ascii?Q?KSmd4vV8fELizMtQ1WIXrejtpsvz70hC+1RrB35l6RZeuh6qf0SX2b+5t1WR?= =?us-ascii?Q?JHfM7iZR1lxvDNN5QKIc5sqB05xoMJ6nLooy34W0x57qAi8bWaIkC+auQXrP?= =?us-ascii?Q?34JFvBWLu3qz3AwCx7woVFRm0t5R4VhnMnMma60hUg8O3hkjf9XILHktWYy4?= =?us-ascii?Q?sERMx9nYL6nDZTCsmNrVpGLTCiv/ya6VKLQnuF5NutAaJEKhy41jMg/5UUWi?= =?us-ascii?Q?DaymIGk4wwY7H/1UvB8CHpwRH2XSLeQpOWR+BR9n0lvPuKez8umyg9JeCuay?= =?us-ascii?Q?o3EuCUA0mdB/DS0Bf5FgFu7x7N2Ed0BK5WwduQeeA1izX3WSrWrtaO0kMGS1?= =?us-ascii?Q?Gv4=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 5:IJT1Rcn6H3udaqiN5xPE2gr6hQC17OlqakZ59EOIkxjtiRMIjVFtH4zwuPF8uHvBKo41ZeL+YBqNdzeNLXPpk/MhZwwF3z6U+8tyP3/xGoqiXyFylYW65w6fcnu5wA73++7Dvq7nZhLi4DSkWkDvLt+vn9qysxuHCcxXRb3Ceain3snuwzDv1C/9oengIh4CfEHPsHFndjt4JjpxiRti/M5t1g+hEV1ebjBAV6aWgWoksjJvytuNFlZBVUV2tvgKvVFSRZbA2u3FztNccCrYX7CBm+cyDSk6zQHaavBe/+hMib/lzoxJRLWODqbpBC9K3JchQfuqgYoXP0aaTs4DmK5RxNFmO/ky08NSCeIkGc44EYn+DvwwLRlhhWFDfLw4YzRxcwWTonwHKE/Qmh74FCd2z5wKUTfxIJzVyk/BaDxeN6cdLqxoyUQgoXAc9H02C+5/7n6wtYj68THKHavRmpMlwKXbGGUKwkPIhV1/rwkIlZlZcmMUyz439fYFoBp6; 24:oRy/ZdiLonS2re3lIufDRrVYIuIp9A1TFzjhlgi5RJDZ9Ba2aXjkoFz5tJBYGL4u3SSVKfyxaAqUAmblhJqFVwhcU0zGX5xssQ0xLU2iUTM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 7:mlIo910MsYTmnTiLwXNUZgu5MUszgcqJzfTKRNAT43lGsRYYy/QGL2ahij3xHIN0GT363OGjSRYhuRPURbinDC0Ou9/wHiMJQatDfLblKpJpBjZs8nOuepLFWr5lgOgJ8jtUy+yWvw3/QihITuZjHyaSIORgiZG68IJBIz3FYgI5myWtlshKBR1cOzo89A5rte8tL/5vDe9oMNWZrOXnsWzOoZVJe3B6w3th8M3LuphXnOHTQw1hUqfrKoGrVkptLMm5sWkwht+hFchVR0r9hWSeOZ8RT5VqlDAkv6i8XllF2RYcxegWOw0uso1FluROnqcatsaEEFEV5tnyL+nKQvPspv/bf3tLb3IaJJeiYkRIQtFzPknI0442qGKW09cQs132jKRQgyZa6Gh6Ju1RRzKQb7SMfqZtNL3Zv46H9vCNBlud5E4DGNQvszcGf1VJm1V94bxb2ZSjHcLRP9JLhpEzBaOrSKa9YVVjDfFmrmkChZCxVoxB3m9mVSxlEc0U7DRut73QEsJoQNOnqQK7Wltl5UGPRfdEMbh/6Z3IzZvSJme7bxDn8MEm3EaUTtz+jlXAUzhnprH6njqUOm0ZInra2ljxSmUOrmHgr4UHJtyftuBGAxhHClyjQh3j6hV/9h4djN1oQurBdi6dtnq6n0R2DsdCZzqV3FcOUS4emwb1V4DlCwWmoENmLimt+TFCbHotkpxNflksjqGVd26ucXs5bxotuVPonjDglWKCzfaM7vjU1JdCkjp/TlPlEUto5Z+uviYrkAtlkQKjkVkue8EhvdHJysQOXNhkJkQqH8w= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2017 04:54:55.6230 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1714 Subject: [dpdk-dev] [PATCH v3 15/34] app/testeventdev: order: launch lcores 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, 04 Jul 2017 04:55:01 -0000 The event producer and master lcore's test end and failure detection logic are common for the queue and all types queue test.Move them as the common function. Signed-off-by: Jerin Jacob Acked-by: Harry van Haaren --- app/test-eventdev/test_order_common.c | 116 ++++++++++++++++++++++++++++++++++ app/test-eventdev/test_order_common.h | 2 + 2 files changed, 118 insertions(+) diff --git a/app/test-eventdev/test_order_common.c b/app/test-eventdev/test_order_common.c index 01b73bbc7..491480831 100644 --- a/app/test-eventdev/test_order_common.c +++ b/app/test-eventdev/test_order_common.c @@ -41,6 +41,57 @@ order_test_result(struct evt_test *test, struct evt_options *opt) return t->result; } +static inline int +order_producer(void *arg) +{ + struct prod_data *p = arg; + struct test_order *t = p->t; + struct evt_options *opt = t->opt; + const uint8_t dev_id = p->dev_id; + const uint8_t port = p->port_id; + struct rte_mempool *pool = t->pool; + const uint64_t nb_pkts = t->nb_pkts; + uint32_t *producer_flow_seq = t->producer_flow_seq; + const uint32_t nb_flows = t->nb_flows; + uint64_t count = 0; + struct rte_mbuf *m; + struct rte_event ev; + + if (opt->verbose_level > 1) + printf("%s(): lcore %d dev_id %d port=%d queue=%d\n", + __func__, rte_lcore_id(), dev_id, port, p->queue_id); + + ev.event = 0; + ev.op = RTE_EVENT_OP_NEW; + ev.queue_id = p->queue_id; + ev.sched_type = RTE_SCHED_TYPE_ORDERED; + ev.priority = RTE_EVENT_DEV_PRIORITY_NORMAL; + ev.event_type = RTE_EVENT_TYPE_CPU; + ev.sub_event_type = 0; /* stage 0 */ + + while (count < nb_pkts && t->err == false) { + m = rte_pktmbuf_alloc(pool); + if (m == NULL) + continue; + + const uint32_t flow = (uintptr_t)m % nb_flows; + /* Maintain seq number per flow */ + m->seqn = producer_flow_seq[flow]++; + + ev.flow_id = flow; + ev.mbuf = m; + + while (rte_event_enqueue_burst(dev_id, port, &ev, 1) != 1) { + if (t->err) + break; + rte_pause(); + } + + count++; + } + return 0; +} + int order_opt_check(struct evt_options *opt) { @@ -207,6 +258,71 @@ order_opt_dump(struct evt_options *opt) } int +order_launch_lcores(struct evt_test *test, struct evt_options *opt, + int (*worker)(void *)) +{ + int ret, lcore_id; + struct test_order *t = evt_test_priv(test); + + int wkr_idx = 0; + /* launch workers */ + RTE_LCORE_FOREACH_SLAVE(lcore_id) { + if (!(opt->wlcores[lcore_id])) + continue; + + ret = rte_eal_remote_launch(worker, &t->worker[wkr_idx], + lcore_id); + if (ret) { + evt_err("failed to launch worker %d", lcore_id); + return ret; + } + wkr_idx++; + } + + /* launch producer */ + int plcore = evt_get_first_active_lcore(opt->plcores); + + ret = rte_eal_remote_launch(order_producer, &t->prod, plcore); + if (ret) { + evt_err("failed to launch order_producer %d", plcore); + return ret; + } + + uint64_t cycles = rte_get_timer_cycles(); + int64_t old_remaining = -1; + + while (t->err == false) { + + rte_event_schedule(opt->dev_id); + + uint64_t new_cycles = rte_get_timer_cycles(); + int64_t remaining = rte_atomic64_read(&t->outstand_pkts); + + if (remaining <= 0) { + t->result = EVT_TEST_SUCCESS; + break; + } + + if (new_cycles - cycles > rte_get_timer_hz() * 1) { + printf(CLGRN"\r%"PRId64""CLNRM, remaining); + fflush(stdout); + if (old_remaining == remaining) { + rte_event_dev_dump(opt->dev_id, stdout); + evt_err("No schedules for seconds, deadlock"); + t->err = true; + rte_smp_wmb(); + break; + } + old_remaining = remaining; + cycles = new_cycles; + } + } + printf("\r"); + + return 0; +} + +int order_event_dev_port_setup(struct evt_test *test, struct evt_options *opt, uint8_t nb_workers, uint8_t nb_queues) { diff --git a/app/test-eventdev/test_order_common.h b/app/test-eventdev/test_order_common.h index 165931860..a760b94bd 100644 --- a/app/test-eventdev/test_order_common.h +++ b/app/test-eventdev/test_order_common.h @@ -94,6 +94,8 @@ int order_test_result(struct evt_test *test, struct evt_options *opt); int order_opt_check(struct evt_options *opt); int order_test_setup(struct evt_test *test, struct evt_options *opt); int order_mempool_setup(struct evt_test *test, struct evt_options *opt); +int order_launch_lcores(struct evt_test *test, struct evt_options *opt, + int (*worker)(void *)); int order_event_dev_port_setup(struct evt_test *test, struct evt_options *opt, uint8_t nb_workers, uint8_t nb_queues); void order_test_destroy(struct evt_test *test, struct evt_options *opt); -- 2.13.2