From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0044.outbound.protection.outlook.com [104.47.41.44]) by dpdk.org (Postfix) with ESMTP id B1E105587 for ; Mon, 3 Jul 2017 21:15:39 +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=Vn0J8uUvjBUe0fg0U7p8Nv+6ixMHo4qxijsp+qTayljPOmsVdJ5a9KzGWq1/pTSyaeATkmbSX4KD6LwqCUd+OJJt7fl6xduHvFb/twf2y+rO3RmCr4I5tW2V4l34q82Ie+PryAE6SODNYLsftQgmKLVCt5+jDFLDW8kKoxBuyss= 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 BLUPR0701MB1716.namprd07.prod.outlook.com (10.163.85.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Mon, 3 Jul 2017 19:15:35 +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 00:43:43 +0530 Message-Id: <20170703191402.3638-16-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.13.2 In-Reply-To: <20170703191402.3638-1-jerin.jacob@caviumnetworks.com> References: <20170528195854.6064-1-jerin.jacob@caviumnetworks.com> <20170703191402.3638-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: PN1PR01CA0103.INDPRD01.PROD.OUTLOOK.COM (10.174.144.19) To BLUPR0701MB1716.namprd07.prod.outlook.com (10.163.85.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 220551d3-6b95-4325-43ff-08d4c247e3d1 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:BLUPR0701MB1716; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 3:HemcrT8moI5Wo6clFrziAwOX2BLbGCy6XPu0QzOBNf6yJoQMVQDWYRt6lCigjADKdQ9/QcWCdPH/MoRLAGntbYD0koaQGBSNOQ2s74OrBqYGwT+nvJ8YmBCGJ5adAySpDKN1o58imLoXWE777rb+bmSGHPRuU2N6qbRuvvhwcSmd5SMxleeaXLBFt/cBylySdmOb4F2wy8UGjZUMitXzyDHW99/U1mrJdkxPPYJrGlUIWlxQzT/xr1kYD3GL0VPjIqKpHtuYK6r1Wcmvqc18dQxtN7LMqmF+hTkDrM9XXBCscE92fiN5CKTzVu1LcUdH8vk28V4ATVd9shMqFyJfZqIe5Ar3OxVvXEDpqWI4Jr3KtFR63Ry9vQep5slJ2ZRp8GIp6nGNlSOU8IKC4W6cllhJTPicKTOvrdZUYqAGCtH0cN0WG5wx7cWAinjZSg+xQHrZ7zRsaJghyxCGTJT5zKITHb468JuXhh5m23PLv/zEiysXwOS7o+sP1XEsjCPqahKpk1fSeFUWUHn+Gldaerd3fWoC+dTkgSvyVbe7jItQVzUdhDcJg6WGDEvWwJnJJjmamu+AeWWlaIL1bRMsC26EHYah7OkLIswyGK+EuRayvGRdjMncksmXMoUH8yNE/j2R/YTLQAL5mtVyeO6m75vtuqV36+z6DlVAcWqvD16D7NTrYohzh/Mh5azE8xT5ljD98VA2jZiZdk11ANVWFX5Xc34FV5isIvquSzry/HM2SVWBySFGFOIOjPM3m+TI X-MS-TrafficTypeDiagnostic: BLUPR0701MB1716: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 25:8E1UOKD047YFPPY4oUrf1dvh9XgD1aOiUrK5VbOOtmqE5wjoCRZiPd3KBspzR8js/sgrAtD7Pps+59hpSiyTA5zDUPUmZKgO8ls41H55k4zF21iNf37WsXvQMot2uxa/asdkRgj6c5jqifjZErTxwTfqpP9TkSc/k/By1Xf6LQ2S82CtL9NHq4ZQD6YgRRw9+ps+1X3rRkxySjytupAXWI5uYvKgDipW1wCZjUDpCWD/lYxIZZM0c2uvAa1j/tWW70rkwWvJ6I2YsYyMLSAXK/ijo4gS7rrgbG8nl8zuwQ/+n31i6wbIjeWFlLgBqyR6hKQsw61HIg23QoN0utC7XrD0wPP0YVIy13L1xm4oyqUmxUEK2hEw95bqLWEeSJb2p+3zYxEUkI8KuhRX1IJQ7JXbNX58QhwE+VREw/3oWP4F90aLYVshBLy7iEJzW4I7AZrw3yGfsYO8FKrYVxb9SfM2meZGyBvalJum8b5+Ny6QZAhYxhBv0QqT50vXMzrTQtxC8QL+ubgsrfQmNbZkswqb6uQUXbfeidkaI7gXlUkkdt2LF3UrWp1ETJ3kdovzMOeWGSA5OwLNZ97tRYKz3IEKeCDjwHZ6Nq4rTMJXn20Cp9/mFdfBeffztMOmZxU3RJomnyelz/oofp5YHTGayV3pKIX1MvM8fAhqnujIVKCbsMZjhaE+yFH60zI18bwkceG9XSJbAnpsZI0Ms4/qk9y+6V1Oy4OSJgEiB30MQq/hXY7fpT29TdVhSRdWmBGysIPXOe7eUK4PjFQ1MH1nx76DFwKqwDVlzhS49CpwCfO8cwEOAzBmG4CEt1WN9eMBGTLN5r2Z5v5wbbM2bbq5/atnM/SYa4wDdQ92TP2w+NfdcoJMf7Ijf+xVPbRnRazkJXvnOyrHoHEIEXt9sG1OxsZ5AMhZxhfHPfqrtFKBNmo= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 31:DPxax8RLbu4ln7y/SFdGaGlOtrWMkTR29HziZSbJXgrlve1GeTTvlhYFNVrGp8HNFDzb2wQFCxyVLTChfgH7ph4RSFvfl8Pyl7VSn9OzOUD/pr2un7P10Wn/rMVUl4sxIO07Lt9uAgowFEz3lJ0XcY7MrA3WZZ6MDefK6/uwXm5IWLyz3ngsATFB7HKsUxAt8GHHS1Zj59JkAMmbM3b8VN0EUK3jZWAuRZ2+PGAU7VMTGfKD5xNu9Yd4tYIFL+PI9MsXK2kPp2g3utENhQJYy5zOO6ezI610K8+I7Hm1Wyb8VymPKZFkTgvheuwi0X9G8GMaNhVpyulVsG4twRRAEoslK3WKkIJifp+OKZu9fJ+xeS5bBFysQLpvFcuA9Zbt3hawB1h8Z97ZP/3mWQRSAAydN0uwRRDTcculpBsmqRR6BlDi2utv9sIIx0sh3WJKawX72/Qyj6Kh4RejCpXlkU6Pt57Om67I8jbbmJOlNKVKj/eZAJwgifvACBXSlGYi4PXJR1ZsIP7l4OnaA84V9g42kWrX9nS0GbGIc2HJl2rdfszfdOharFCU0LKGYc+JLGk4dRlJsXxzEoRovpCQTRYGsyBldyWHPvEb/Fh+ZVrySb5kj0WIIndptFUdqcxSIsoWNIM7/cj04eNv8MxoLuZgvZHYjKCxqOsyEn7YXFw= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 20:flK1xV83Yc6KBbLS256mJA3llW15vpmE0YYhkOV/7207dP3/PguqI0G/W9yB7YMhXRWn7UU1K040Fnrq1iakx6Pch6szW47gXPO8bklZcmV0YzPHinUKKMOUpwBWd9G/IZ+6hNgh3dH22WECd7pcsZsBSl0KzoQ9ozLty5JKKUMc4SxhZjFwr9up2N80dMI+FIp5/wCb1LeZ2ntT3jemkcDbbY/tiQ4ZrNetwzrMOM9xCoh6JiN5KuJvf/KyfSuhQMZkQOWWVWlkDWzYTK5UxFKNr7pwe6m/lYidrZlG+ja1J2RX7cWcgZenk3BSBJFtz8+L5xDKx69z08M6q7vkocWvo1oLqQlmQ0tJEuBpKLtLC/pPIVIdDXDyDv/oxVejA52S5wRag+jMUffn8WcflAoy5Z8QMn+akJVVyPBBk1+7QiRu25WCHnM8PVjEX5xgJA3+oC/T/W/MJUYf+LE8t/JbyVX3WMNzeJHCeGyCha8m5OB3KO0qP3LBCOFfWLUto/iXzNhk5eNVAMPoOMO9MU9QkHzMmjj8J6iSYMVrTPG38sQ1LSXrGiJI+qOjL2/l/CVYNAe/fXxwUMHfFyyetuBMkyTY5325VVLt0JXi/uU= 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)(93006095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123555025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BLUPR0701MB1716; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BLUPR0701MB1716; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 4:bG+l1kTweKEFF9Kv8jQIaAgPjqOKbAIqpluAQc7G?= =?us-ascii?Q?f3pCd06BnRutTWNBSGuN9a6V0G9RqObMMEBnmTIPMaPyyL05dXq2Rg+gh75S?= =?us-ascii?Q?d1pQzit6pCdTto1D7e0LWuQVQu6eiIPLbEvrIsUUZugOSfpN78TR7OHPtuX9?= =?us-ascii?Q?RwNp4zn/FP4cAv6gaAJY+UyDFgNouQUE97H+KwX375dWR0EHHleB1dhHtWKP?= =?us-ascii?Q?GMNXyZn5BVH5+Pi0zwXpXW7dLdoqRAHLlXUiJcc/ERmWxLh9wlcUOwEmPca5?= =?us-ascii?Q?KDtCuN/3baT44h2sg+hmzxsHmqiw4FeVUYjwc0EOGoemGPphdkQ6/+IvHa36?= =?us-ascii?Q?nvvFBizQDK9/ZcTdVNtag+XpVd8RmIiREa92wkFHoRmlRDVC8acjUv9PNOD4?= =?us-ascii?Q?/zCuoKPjo/Ow5m53tU3I/lwBut64+kn9nZjx4v3xuZb7B7PSwCGNhBhtmGbe?= =?us-ascii?Q?1OFFe9XhpLLbL6CSwM4kYeqcbb1Pk1JYWoWkQkr3vxgIx9X4zU5bJrIxZqJx?= =?us-ascii?Q?/l4QRVOeO+k93MdHuZxALfJmdOtI/UPDKttWvIp6dO5zJ+VXHMjB8bPfbxfG?= =?us-ascii?Q?RlKW9/WQZqJAf0oLAn9dl8BiQr1aWVkqUkf1j30ANV1gIy/QcuSVMXfculow?= =?us-ascii?Q?qay682gVrnPgmS5y/xR1/62q9AukP0ONG33xR/iMA5RxKZ3FfxueF1n1rQYU?= =?us-ascii?Q?rOHp96GzyYf2oZNwlbfS4u3K7tZqQX+TgP047FhDNqgMwVsgyUuj113HFu2k?= =?us-ascii?Q?XJusS+jxTF4tcKjmEMZxs9rI0xxOiWq+EAhEO4a5RxrqRdzLAqEZH0k1AuGT?= =?us-ascii?Q?xPDXyjhJCxqKArQD80qKOKU5UDyNgnrrxyKUqJ59E5nZPSjA/EFFWgZJZ5/D?= =?us-ascii?Q?YYs+lWLplrUDQSYH1A3ZgkZ92mlvSTpgSQPzG3UvDpr/mUoQssn9KYef96Ib?= =?us-ascii?Q?LulAjj2lJf/y31T9KUyYrskEI9+aon50HfZuh70cCvXDmslQUxMCcCNJq4Sx?= =?us-ascii?Q?f5p7pUToV14zTMFZ+EFKyIKaXfb6Ps/wbBUJmGBqne9GyWYkW1EqQPMgqolY?= =?us-ascii?Q?55AsYxkDchJYwSoJp/Q2teJPf5CmWLheEDwcgnOl3G0EKOrKiThegV9ryCN6?= =?us-ascii?Q?pZbjmjmzStVX0xQgci0ENfHUEx0CNlxGqDe2CLKmKk/Bb+fjJecFjAMZzlNW?= =?us-ascii?Q?yhclu17f0tJo+K+Ye30sC5ywh0x5RiYv6+/oI7fi3YAMd0SoSfg4fWWHYokN?= =?us-ascii?Q?sid+dmRZtjdbpIolRJI=3D?= X-Forefront-PRVS: 035748864E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39840400002)(39400400002)(39410400002)(39450400003)(7736002)(478600001)(53416004)(72206003)(38730400002)(110136004)(107886003)(42186005)(8656002)(50986999)(76176999)(36756003)(6512007)(53936002)(4326008)(25786009)(5003940100001)(6916009)(42882006)(2950100002)(66066001)(5009440100003)(6666003)(2351001)(2361001)(6486002)(6116002)(189998001)(305945005)(33646002)(5660300001)(81166006)(8676002)(3846002)(47776003)(1076002)(2906002)(50466002)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1716; H:jerin.domain.name; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 23:SjzcVMrFeJVo8pVClM9w2hkEb1ammxZCmMNLepD?= =?us-ascii?Q?m7Z1kttF6zHYAvg064IdPByq11sx3sCOlDcsRX7MEc6M8I+74pCVR+GhS5mO?= =?us-ascii?Q?zi/qU9COp05gErA/iTObwwJZKkUbFXbTDkcL1TanLSUPCuhVnTW/9KEEQ+Hx?= =?us-ascii?Q?bVhJi3N1n9rBcPo6M/yfwR5eB6R8AeP3HRn0OKyoCe2bxGmMSmd98kqdoNld?= =?us-ascii?Q?HPwKc4fRBjwX44s+8Go9v3ppUy6VGFL+jjb0nxdWNPavcX8OV9KzZ7U4suFQ?= =?us-ascii?Q?RpBVhxn35kXl5vQEwKB7bSPrHu9yZwoD8UJQWNQOAOn8jJkLmRmkyT/QU3MK?= =?us-ascii?Q?PflkzRkutTD4DZxpnecL+cbVn1vdEkEBVZSbq2lgeqQhA1VQDdpDSn1DS9HH?= =?us-ascii?Q?yMws+7DMdUeYfGxBH7pBf04MtuKDWsEkl4mgzlxHqrIIkippAIYoIaUdSVLd?= =?us-ascii?Q?kL6/xpTWBrxhYxqXnM0WEfQX/fCF1CWgVG7v2NAJJ/fQYqJPjhsmy9giVbZ5?= =?us-ascii?Q?FCnEHW7TuMbPbzFi5K35QyN/U7db7buWK2QbbTYWZ0asGzyrLVmwS2I8R1cv?= =?us-ascii?Q?EPHGpJWG53M7vOQ7uYZgevt8W2XaTvRxirKHo8+vk6ke6jOX1wCxDGgGVkW5?= =?us-ascii?Q?IAoc1czizC5jgXswETgHp/ZEv4gvSyhOxP5pBiAAuHYNbArsfOx9sgKPOkac?= =?us-ascii?Q?ZYz3RZD61whQNgEWqPo84HNnrix10VmN58c/hwWmHGvhH2LLJe4U18lxlzUq?= =?us-ascii?Q?esk62Jt12s4RHN3/BrFuuON9pLL8WsfWF46jINgsL7m4QGZgrNH0WKNnQGJp?= =?us-ascii?Q?V/7DwLaYHuaOOAKyH6tFG9a+IqVdKGDBvjIekcax68HP4aezxjhEzl20f7AL?= =?us-ascii?Q?htMCPxcfbsg3a2BMxHsUSYPG/XoiWVZv205+lDpgICfSVmO+4jE9c6Ay+Tm/?= =?us-ascii?Q?yJDmH5xOHgF7yg+RDy5vMKEnpbOlJVVey1J7Th+aG++F/bg7/sen5pPrnEoL?= =?us-ascii?Q?oZ18g+VrhpBDqOB7LHF8lFHJoccrX6MET9O40MOsx9ACWj3BwaJNBBZ31XEw?= =?us-ascii?Q?j4oaA1vlSJJ/uvyF+WU8nkQAVqifHZ2gUBRZuZjbg7YYX/fLDdMhjnC0Ea7k?= =?us-ascii?Q?M7dD6PmrwKuJ+dJxxMmHH+fsW/vzvzRtcfvU+sQZnjTgYU5p/OVRMbA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 6:uRPfaK+O/0Uy5yb5GsBl7SD/QVJDn4hJZtilU5cj?= =?us-ascii?Q?eONy97ERvKoXSITgYB68Is5Sn5o6hSMHW39BWFI9D26Rkx7M9gnNG7k4i4Ev?= =?us-ascii?Q?CKQKL2qT8OlAZF2jVVkyNZa0j3JrZjmEsBUlQsljDEGfjTuFAVA+buCd2p+1?= =?us-ascii?Q?wuZ6ZUJ2aNjkC8fVx/Ji/VLCw4gxdcLRfUPt0nOEH3aKwyLPEtUKth4b3hM+?= =?us-ascii?Q?p1zBTAaTb16oNjadR1reRUpY/sGRD5lvd0XeVZNmiaIzPDU+8TpXLzm+mudV?= =?us-ascii?Q?IGTtgtHdkbQKpC21VSaJcVLuhmNhMYjp4xPxXdF5vZyDBISvv902qb+WpzDg?= =?us-ascii?Q?H9e/7P0WfaN2Vklw+dEOFTggHIdSCDNXChinUWdDx8mnp6oaKa8FyLn58uX5?= =?us-ascii?Q?riKZtrUpJ4lGsts7yDkwI5t2tMb6nNyGaqrG/hiR8kfc8QSuezUJAGjbQWJf?= =?us-ascii?Q?ntHgojbEklHvjnz2LzrdCuyw55g8yZnLbVvm7836JuQflynLNX+GzET1f/wA?= =?us-ascii?Q?QKZk/aAQE25ITKQBIYfgeQgLB4h3ky/cKMVci5rMR48KIQ1S3hGNoFgPpoXl?= =?us-ascii?Q?oYAvW1gzn4+D9P8M52JrUMsRZt2dcZX4t1zv1s/d5zmSueOnpD6lwdIKUGt3?= =?us-ascii?Q?70qSThTzPGnQpDS1R6i8qfGylsD3Mjf5VO5vXeIZ9Xe1Ek91LHAj6RgSpAFH?= =?us-ascii?Q?pgcuUxgiGF/sXj75MkNGvpKxN3mdhZAPmszwaNpmlF/wQzk/MEblW4hUlpuv?= =?us-ascii?Q?JpVNuSm3yz0WzZWZzZ7Q8EF9b4LTtGd0Ouf/w0d96NEdXYeg1BjZXI0p4FfE?= =?us-ascii?Q?Knk/0EwnGLGCaAp2QsEFka2Ojn6oDEtJ1RDUnjJ2do9dd5m2ABBdlnuLLMRR?= =?us-ascii?Q?GDWPndL3aXWOvA7lhMhRNLv9Wywt6pv5wqoc2L6yx9BqAlCMcd3NX3jvg533?= =?us-ascii?Q?wBClxtDZErJrtf4FrjRG36FZlabe6iXgjk5qWyYSXJElquFnFx6CElj2DdKm?= =?us-ascii?Q?IQY=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 5:GH138U9Prbv12+rJKyAlOzdGpKo8SjJR1swVHtCnUkSLsNWWUbZdFS76slR3e7qEdqvnevJy/Fs15usJAyN8/2ODzKPctR2lmOqkNU+YAdsa3ceClqotIZyJmkr1GmJ+b7JLd98N0G1PBhCyLUIN2gAy0Bc27kE9jXTQm/UNqQDhxwnkjo3GLccFQccPgSAWtmeYO/sV9k03NtfxoLGqqD0S7HAgT+FtyQuiNuzeuqJxiOEs0YGNu4//OAH0dE4F1CEyvOhmdF/oTkDYtgCpbrjrmlqXkU+pAsDOeyp6scLafG4X4BkVrSLKovg+KdPNDIfNwzUeyyTLr1Mg1zu2EhdgpfrdN+tlePnct12QZbuXOjCHjiYAMMIGDJGL7z/i6bY5daIxpxIKVbTk9qgkaOQ2nuPjNf7p8O/8ugiWr4F+NlnZtou2ebbKY3E0P+49Ms2FmgBpeq5B+46BZbBoR+gcVulOa4U7eOQj1nPCNjFKhUyGCV0irdWOttQGvf0c; 24:AlboEuDlRc1gCzGNQwAaPDiJCdYGVcHmQxfvJijITPmn3q0nwZcn1NleTykKe5IbG4tKAHdsSYhh4z+3UUwCowE8Mi5judcyH01pgTfrlQI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 7:b699GygXgrYZdzq/Su7zTQ1tGh4oq2MFn/ErsMKUueUyb2jqyFlThSzPAAnYfFtDwtemm1jvtGXMoF0Dv2kY9GeS0y0MU+cZUn4EzJJMmnECHFY5DfOEpH0iW/6rzjUfx7ZnX0zMkedpOlbX7oNq2IlajCpIhoSEu6wivBJA0jYuGO9NGA8DZMlmTICHQQTkE9M3wrWZ/1cvs+KbHp8J1nc9lqai8W6J5NnGxQRYYab1cuBfmEwzTsUmvFgXZNXP5FbVzlXDVzFRI/VR0KlhnMEPGo78jKerUGbaM/Mm1b4N05twsEV0Tnvme4USdrVKLJdAGAdMTmYBlPz5MWY/938FXcCcu9ZyLFNwsXFqihUF5JXe3dfOo8lCuUU6hIcDVV2H4SCNx1VWICP6bpReECk3ClCfwUI5JI/2075Csfi/bHeVEId13ubXY7EN8ncotvLU6izBsKb+n8iQFwViYqfsdFGWVq465eQptI2Svv88a8nVDvJzP0bSewW0PKp1CXKrmvb/hUYJZyhKLxoMFHe3VO2DBX1d2szB/mh3fRKxka1+ZPTV5wXRqQ6fjWEiIr3jciX9T2C7IO2btJjp6160YRouJFqy/hDn3V5DDeTYS/ZXK4Ej3ojqMjIEo2Bnv6v/T5SfulX8Nr0me+uQD6+OVe9T2YtL1iLFmodwiWAjZu1uUwq++oQgqkJmaRyFngoUeyYEb1IUW8kVfW+glxMyIp7WCW55RDdzebVEC5J3SyJgLxgnKmwawUs1rITMMkwrBqx36GHmiUtl6pOFdMoraGJjFv4Y+PjRvGAWJcg= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2017 19:15:35.1533 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1716 Subject: [dpdk-dev] [PATCH v2 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: Mon, 03 Jul 2017 19:15:40 -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