From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0060.outbound.protection.outlook.com [104.47.38.60]) by dpdk.org (Postfix) with ESMTP id 2DA645689 for ; Fri, 30 Jun 2017 15:04:40 +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=lyzXrjWwfVugsdTNjSZUSVkXW0kd8OqT5EBDXo1GdVQ=; b=PDHgzASNhSAztlwfMt6zI3vlBtrTTIU/4kiNf8cZViLV2k5Rpz4oufF+jcQxO/qho3lBeRGqRgKUK2Ta0bR25c1eYV4pjowUYP+8Vi3uTij7XrshZMYSTs9YmSl/FDIsFC4B/PdV5tXPdRl6BXlZsxLxXJwm+nM6q4/bweSCVLA= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from jerin (106.200.247.167) 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.1199.15; Fri, 30 Jun 2017 13:04:36 +0000 Date: Fri, 30 Jun 2017 18:34:24 +0530 From: Jerin Jacob To: "Van Haaren, Harry" Cc: Thomas Monjalon , "dev@dpdk.org" , "Wiles, Keith" , "Richardson, Bruce" Message-ID: <20170630130422.GB4578@jerin> References: <2363216.DczB0HHKeo@xps> <1614665.GlQH7FWj5q@xps> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.3 (2017-05-23) X-Originating-IP: [106.200.247.167] X-ClientProxiedBy: BM1PR01CA0074.INDPRD01.PROD.OUTLOOK.COM (10.174.208.142) To BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ddcaa6af-e2e4-4cb3-09f7-08d4bfb89059 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:Inri4uAtBa+luxMP34iAQzPEstj7ZwTFTTnYFG9qzmtMH2AOdPAgTDsMiDBpt8KtIZOvXIxy/D2ugHzbbQ7VxEQvigdEHawnKxiJTtUMf6W2pPdTZz8sN72ks7/oP+thHL1gWH4Waia1k1NC2aiWDY7fehQTmYQLg3cgBSncxMUFKwa/pF6fN/nkBq8mezbz+SyWUM3WJV0C39ZS1qGI8BXSSThK1sYFktDUjWSVP/FidYI5R3G+TeZJg2/Ggx6R/M9cycRSdikqXLvdHXWU9gHlRbmqBs3E9x7cNhudQ1rUdZMq8D/RnRu8JkEldBQZSJt9+u6GPkYkbxtonvlKZNfhDzHsAc1iTGE61pT63b9hT5/HPswvDTpW4aNen+2zOlbP1CwYm3u3WApT4zJUCf9qIEQ8v5ckdpBCxzSiC9vlyAh/cYjN31TvJ76x72dNNBeovmH+BEZrQBkVNYteUbnrkKr8Jbii1fhCvJszf5dL49gblCP+0Qgumd0SaPVynAxrahy1BGESxPCgqHrS4eCOmI/XBk/yR1nvL4DrT3SdzYw77XuV4lrTeAZsbUOG+/tLWhWiD/QDV4vb8I4Xi9VaKWXXO2ZWBHlLPgx+B98OfUxjWw3Esf6r5RCfWKl7kqBibAHBgtwlxFD/e9hv+FubHxdaymsgw/2kpTuyHHuWnGdpsiYPskxPTHV9kaYQVccuDKm/F9+zKYYmjbMgLTJkkRY0T1pQSssihdb5kp4= X-MS-TrafficTypeDiagnostic: BLUPR0701MB1714: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 25:hghmlA6rWZTm4xbnLIx452RWEDveyuA1fkw/66FBBt/GUKQuJtG/jrKQ9+6RsaUJ89XdlJLQj5viY+avdU/OgQOkId1WYepB9r0zHans2+k3bYIrKWZ5YL7F+Rv1pnb53wIvIzotAtRw50yflzwG2n/EQ1x7Z0aHn3cq9H2p5lx6ympU2+G4dBcNWO+cUpSPCiJEQcnNLpXQERNiImJT8FKtOXUStYFXC6Zx85naTP0Rz1Sv2DeSr1IMOu0L8FPxedZIxCyuFx394vvP3EUcpxoI0v4upI9jn20jsb9tmXu5X2cfB5ebJ2mfCY0Fhvhyu10G6cnfq2fNaoAor4V+PeHt8PsiCSZDdFQZeq8RozugG8hdMuRIpaNLow+5Knp+MMzjJyx0u+caRo7mK6M3hKQLEfyERl8751NchWutailLe/TzXuZDU7NJXxZrPVoxylH+byK2eG05uGNKTvMl3kxuVQq0WdWh7A4qR1ej/tc1yy6kFywfoZm/TGourVMrA+BOL0sqf0YfMaszq0p34JyEdR94lPUN4Y82Ba20h/jlj7krjy4PAEC46GK7zePpSFXb4lzHOLTFEaL+ylijriCwcdJ3x5yuy4/ALoA9ocJhcWjjLVgY+uEoQeT1HpSPh7QKPZ1+HLwdoOsBkYWS7y4bsKsDhuNVxiVenTbeMlf6fyrE4JF3IyU7cJWaw1SxLUgfV4Nk9sMhawtvD55F+xHAgD98wSVNzQ7VnDrwUJ+M4O3qQ7dfknfqJudo6hbVopd+e5jEo2toESP1kvAp0mwVKoGg0jUhMiektOnrP+QhzQSkiDZpsfwgpU/VrGkdplYA52VDdt1W989JCBotEuM9VhGP+YkBsQHg7CcXuWZxOoyQxtUGiaqvrUbdmAKiWCjmdt9Ke8bGFkt7Mye5UqlYQ2kicw2y7dPSphSMxNc= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 31:HfoPSSdVrzikwK1Lt/wEOHlcuwWE1VGwWJ2NHaBWVtz9E6vtCvPtENMOhlOHy+bTthnyX1hmtbp8iZW98Co8zXpIaC7JdGhY9HOC8kkq+Kf4oo0sZjsa9c9LQ0jCzU/LCw1CW2IZFR3+Z3hszz6uOfRCUm0IyFCu3w8kH08NNAaxwYx3S7q21SGuJEpvJzI7YLrMvST3wZpF3sZhRtMbNj4/aSwrSGKXnjo0rU6tFDZxPzs+BiiBJAa8ze9sEptEGjYkjgD7t632flpI8m5z4nkD3xJgry2RqBwsnAu3A50F4JmvSBfbba3K5UBvU2UfpgG1XUkl0ElkMfen7h3lCQKtRxLe6uPLmqdQP1cGpOg8dJ7B3D2MQeFg7R7l1Xuk9M4CLhooO7ri1xT4uw41Fp42rtD8Jbzp0+68gLIAbXkj1fD/f7NJzr3X05M2eF+Bm42sxeOY7v71ncdEjfDRCt3G2rpHnX8wS9tNEDDOsmgKrNP/XCOCHef8r14hz9wxmJmWdw92pUOmNwQskHXW3eKlw28P7ECRtDQgzy5VF0uRTAY2kWEb2j973DO0FRN3p598KJxvUxFQmcXp4MBK8IjmSUN5qwErSLlF0s+W1Yv8+JoQx+c4Vj+d2GSlT6IbvhzUsdJMdOErecW26DH7ECeHcI5HspcTskWdGspaCK3aMt+tuu3frRu1dLK92BZdazkfrw4RA59HuzH13pqsGQ== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 20:9y3X15uDTrr6N1j+TEdG83pCujihbjNeN2p+zIYKXzf/rJG9ePRKdhUXjdE/AMAmJuShu3y9TIKlA3Dn1vWlJ9aE8ue1UmhoNFyWGKZFXOJSX1yjUSSbWlqDFXgJ3hDhkVWGJkX7Ir980IgFsR8du62AaV7MSFmDzVBW4cWlXBaFZq0fGJXYVeIihxiO4S7TXJ8+LUouP0IWoGUjmCrZgjGlTPqZG+PzkXSUkfV6Nxr3g7m+q0P+skxwgq08JYxSdmZH9y+Ytrf2rTwEoe1H5hLgxrDvka3+e6razQLhe6wQexs+Eb0YFmeo0CrkmYa5QWPhJ3RBV5XJMHFDKXy47KeyFssvVtZdJ2KWEZMi56W2MJaw3i13WQmMhoXY6PfvCigOJkKrzIab8NG8u+gbJGRt/fQ97jkVw9851zYL0f4wnsklLB3KRPH7DgpQwQdUYwlbSpVUyNswwOweG0e+Fn2CWf9WgVoq77L7jN51pS4QhxDYbdt3o/gKqksp8gfGpq7HUElQmK2Jx2zNBNwOrNIDRRnSazrRCBIY7tHWAlmhreXYFFRHihQIy4ZChKikhYe29tgcfBIGDlSyYeLKCg5WciIan1Eac9lNxJKEen0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397)(236129657087228)(100405760836317)(209349559609743)(158140799945019)(228905959029699)(247924648384137); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(3002001)(6041248)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(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:UhCoc9VHd/6ifvxmbxG2bQ5LUOLZfV1iNzoPwoFM?= =?us-ascii?Q?VoXndMnmyjxCzobyoOb8vIRx05a6EpolWuSn5rDBuwTyEbGRu069asPGzRBY?= =?us-ascii?Q?jepconSa/bBmFJGPpWl16/cr0PvTEeMcwpxWpm7OJtmmdLbx7piJ1L6imxKH?= =?us-ascii?Q?LbjELptHh3gnqly+BvQM3YwZb6mDpdDbygTrl3F+n5y9waUGRM1TZRi1DzFF?= =?us-ascii?Q?diJ5RY5sz+VvYU6Y1RLN3fCaNxChikDx2E8BVT6zLuSVV8WkwH/t6bvbx6As?= =?us-ascii?Q?ox5H0cd1ayUjpTpAsR6BdRh/6R6GxQMZuAiufWHglpnCEZMnLqJh2HbW5UxK?= =?us-ascii?Q?HVIaDigFL3Xy4FBn2RsL5WKHU6VrJmvFudgcLBNcIyV7OWA8up2JlBeU/0NK?= =?us-ascii?Q?OKYCS/lFqzyHck88W9ytMQc7IlwvmlOmMcsoaUSxj5hJi1v2XLP51qJNToG5?= =?us-ascii?Q?HrcnqPUrDhPusNHScTb7X51uaDTy+qzmV8ElaAq/qa1vSOnCxvQtGmG7N3Dx?= =?us-ascii?Q?pbg6R1Q9jAdPBd1U5y1fmZIBxDsxPNtMQEduxObQk+rM+MIRWBXWMuRLlqWG?= =?us-ascii?Q?OC/n2U5VH5ASbI+B68EIozpXPqpJg8B/dsmUL6SCpdSfM5N/YHbXz8VoYU5L?= =?us-ascii?Q?ExmM7kRPnIaQceutPuyF+deTd0Q0U9k7DyYdLbECAsZO87T1pds7ZuLcomkO?= =?us-ascii?Q?902jnzMviMmxYDFZKBxHoJArDgXzbvH73Ukal+14fYdl6Zy9h3J7AxdY3H7O?= =?us-ascii?Q?OU7o8U27LSYhH3Bm+Jpg3GFGX5OKkUIHKYnlu3eb6h30vlxl+QbyjYet7vPB?= =?us-ascii?Q?0Ow/QKSuu3M6W2/K9vHxUpXaqPlUCZUi6kJE74ZLvgyByAU94bwpymqnZ5S2?= =?us-ascii?Q?NGQyfESWOyLX/PGrS1+Q02i5o9OoIh1gddxq9ISBVgK5CYUZG0y0Qpqwl5ur?= =?us-ascii?Q?wS7XN425qUEgMFJvMwQ4anKL71QyOB4aMf2nhIssCBpgv9bHRp8cTKpDW4Cx?= =?us-ascii?Q?AK5/ldJCb2bseTe37nK11ZXI4Wj/nFnrRRw47zN9mXW8V9wVvDeuQBODfti7?= =?us-ascii?Q?MPiiZ1Y2cOixiGHZx2JtOG89ILhiXDVBLajGOj4A83RM6+3Rtb3QVVQXP1Xg?= =?us-ascii?Q?q40VTYdxgKA1mzZYMnU7ssbpjjvanjZgBF3WWWpt0Gq6KBR9E5voFSTlIkfY?= =?us-ascii?Q?RSW4CnMyT4PIzxzYvCExYXAFzyfXEUJg8zO1GYAoB/ppNCf8IaRzjHP52rg4?= =?us-ascii?Q?HH14cbiz5cVO1ZLX1PG0t0rTeS9/3gHeL4OmQwVS88+qFHZHnIUvBlc3vUhu?= =?us-ascii?Q?A/jpi3tJLlsYOmPrgnyPXmq2+pZU9VnHAL5dCYmoijqcklOJtZa5Pb4VxYOa?= =?us-ascii?Q?FTVMlL6xWafFes0EiOk3MNd57Ns=3D?= X-Forefront-PRVS: 0354B4BED2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39400400002)(39840400002)(39450400003)(39850400002)(13464003)(377454003)(51914003)(6496005)(4001350100001)(42882006)(2950100002)(6666003)(38730400002)(6916009)(5009440100003)(345774005)(6116002)(3846002)(23726003)(110136004)(1076002)(76176999)(9686003)(54356999)(53936002)(54906002)(55016002)(50986999)(4326008)(5660300001)(229853002)(42186005)(33656002)(50466002)(7736002)(8676002)(93886004)(25786009)(2906002)(53546010)(47776003)(83506001)(81166006)(478600001)(72206003)(305945005)(33716001)(189998001)(66066001)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1714; H:jerin; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 23:PNiTTlvV1J1YA4f87QICLUHDozFY3w7ClanDBJl?= =?us-ascii?Q?maV5IB5F+3V3CNJHOrHPNwQVjEw7ZLZe5+bZPBlM0tDuDlpuDNnsgX4+9oOn?= =?us-ascii?Q?miAdWX3OxEEzzAvJX0Hc4Xks7EtsFJ5gvb24Kv1aTkKBauPgHvRp/DuAsT9v?= =?us-ascii?Q?sAbpgoonfmkuHQsaZJ9rFa614HTs9gNhI/ZsNU6y3RxPaZw4cwV16vLTB/2H?= =?us-ascii?Q?yDuTT/sbdiZ5JEduGQBJnMULkNf9AiP26cpbN9658Szd3I9hEJFMeCVL/EVK?= =?us-ascii?Q?KwjI7Dl8w69ZeIdmf9uCkbyVSWWZpd/yFqT8OsUPoHcm3U70f0ajfZRIgYFw?= =?us-ascii?Q?cXaqrltBTbnuS4GmsQwy0uBxOP+K9qphE0p3EscBQl08ZXnJnqdhNisbQNWS?= =?us-ascii?Q?hW+ZMUrPagz8oAM2gzgYELIG7WiqmhqapSRgjFSYDpY0rVXj6asCyrGLYg5x?= =?us-ascii?Q?yUrXTsZzRRai2kMFLNs0UuGAU2UEpt2xOvYDH9sIQeSkPTWFv+aAIzFvBHP0?= =?us-ascii?Q?uBIJdkbX81Dg+DuWZ3gu0B55Sc/XD8r2afgY8sOepmpiFpbT3psd7pVZ8VXj?= =?us-ascii?Q?ssv9yaV5mFtotK7dG35BEuOqa7oAqxMg3+gmU9Bpt5eEMuCPt5EXyCAeByqh?= =?us-ascii?Q?5Va37/+BfBo2z0TUCrKlXeqqgxUEWqfQ17M4Q2KNkvFvEPk+HRG2sj9+jFMR?= =?us-ascii?Q?AhmQJ659Vop4V0qtmYmOabEk5vhx0afRevatL9oChUQsSt8n1hpttSQpvjSt?= =?us-ascii?Q?kEkFwtA2pxbi8tcVGUMmU+/2n76Y+9+fNb9bUD+c85K9EzAGBiSFQrJHydhq?= =?us-ascii?Q?O016fNV6scgPLltxT2UX39kfQxCGX3e3mQFPBiBjMU8HKrUimLbH5/j4H7q4?= =?us-ascii?Q?qanVudsKAmyndJDYugoO85i7IVCDy5K62coc7Dd+nt5KIOcPpCP6ze3e35Jo?= =?us-ascii?Q?S6dbMcsO1I1N8zwbE1x1n48VrG/eWG2ROzrBgo1bW/PBpkxQx7RYl4VoXHC2?= =?us-ascii?Q?u+wRHC1BzYu/eBPwzcIPMaVp5ClM6azgBvMmJV+jhni1GMpnXAIwCr6tQgpn?= =?us-ascii?Q?5O24B1sPG/v05R6NNu/CskJsx8rot62h0wRLpYqCyjDuAChX17twO+HHs8zP?= =?us-ascii?Q?u4nf6Rj4u9irok42OxY7t1IJlJtcqf8UgkHnJe5YlwRQ6fx32e07KpXcBHzh?= =?us-ascii?Q?twlCArTofYDXmnK0cKHpHYzKVMOGgb2A2izpyLSoaqPT1agWC82FTlKGCz5b?= =?us-ascii?Q?oMrJ5n6y7mSg+PvWj5P9EP7V/+atB4G2I41XUFrOWit68nsqn28MnBmrYuqN?= =?us-ascii?Q?zMftEaaTMQNK0UmnQvDbIDPm8g9Z06RQ9H+erEkz5dn+l?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 6:dtTeGu33evRcKkTLNFTs15lCyK4I57Q66uO+jxQX?= =?us-ascii?Q?C04dLO9CKqrPMdpYKnghyuOweBQW2FegKY6jkISUQiXdDLDhR9rc4IG+GQIE?= =?us-ascii?Q?c7pRwiODKm9TKoi75iI9rOcHlwM3MoK8MjriXi7X6JmlfOHtqNGQtsfhIhBw?= =?us-ascii?Q?YOGd0Gs4u0UVDxelxlzApxjxBglpJAwSq0tj9eFLaDpkpsoVLoN+IrlfO7j4?= =?us-ascii?Q?Kmc6Xu7Nz0Oc85N0FD7+9qOOpIyBQxPtIfgOpS/ZAfb2TvXbAHCNSKjNd2tR?= =?us-ascii?Q?ufqTS4YA/7Dehk/MLDYmOtwlSyJSEfe+Fm2Yo2peytBqit2zGrfEQEcF1GWy?= =?us-ascii?Q?gaaEkjTqrYBia5tZ3RUaDmOkespbL3OlcVIpzffXgKCAZYpvGr7KXNb2KaYZ?= =?us-ascii?Q?oRDhbcNlA30Ia1w8svJx+HYblJ+M9cOk6HVftblofs7e55EAOC/b0DjZd30Y?= =?us-ascii?Q?50HiaCOL8SP19bXCiI4Lq3UCJQlpiUskcZ5zDQ3kgN3If4wzJXbPEdkEKCzS?= =?us-ascii?Q?S3H+nPEuP0dEAvjT3pJvNnDV5i+VbBgD84ZdgZG0RqfXqzeE/kltA/oocD+n?= =?us-ascii?Q?y5CKgp2m5Y6u9coBmp0kj69eCalKdt/iBTHgXoszZNUQ8rTHUISoRgN7tDD7?= =?us-ascii?Q?tklBU59ZpkVXpozthljRXOTCaKJq+29fj326pXtIBQQOKEqem7/Fd1+90oYO?= =?us-ascii?Q?U7YJuf+PiiY9CqqLzCkjyKZL1giIJVgRsUMVRzL7dz71LDQLeNnB30sZ2QEh?= =?us-ascii?Q?H4Zk6vuOuCdpn37+KzGsjnajIXrKXD3WJjTTHpyvnUWxiMmNawEk63S46VBO?= =?us-ascii?Q?C0tWQn+eLwZzZvRz7wntxIBorfuXf3w8qJ0ral/8hP0+UJPPM+eGyUyd5dgl?= =?us-ascii?Q?pZC50pk1hYlpPyWgJR7Wo5Zn9Uu5qxuqo6tgWz7JwB8WsJ68cV/r5OtntjUd?= =?us-ascii?Q?AziSAg9CjTKtaTNbQ+6xTAvmdJLC1tFTh4zNfAoKLTpKnOmMKQalIgELE4Iv?= =?us-ascii?Q?7C4=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 5:l+2ymTBqueiLHu+t6Vgxy2jbqR31pxomF8tQlPUahx0+BZYUjaCNCAx9GVRQLCLdbgtAFltP+0YUqde+o24vwE5fCIeuEZuC8xg9Y9E2gnkF7n1O9hHVcSYUs9azxTFmNPH48GtnzRK5iX4t4P7HoEcPsLStEcORBWsqTiWZAvYi4CpYRzehSp9mbHKdXhUsCyhL5sk9FEZq/eEuP6Vqgy3b0RfARmiFka5ebD0yk9MxbptlEIIaV0inK4dvcxN2Qa6HUX1nsmBBeGIsndpLwf4GuOmS9WTlhly4C/LfaaMT9pkAbVkXHcHiIzlka4bdqY6g4HzGMYhX1Wy2PEgvzWr4ximLid8VGVUT16cXKuInsR2YrJlrUc4CO+ikEZv/YqaAdlhB1kIvRc29E8pjCi1f+EhudZalOWTs9N1rQUjozLMwkZnKsm/T3mL+W+YsQ8r/Y/uscqHE7gsnfXlEW4O8/zoHnmJEapptFTW/xHIcWWjH4U1/c+J45rN6M+7S; 24:jLDcl7dvXF4TmaK08in3CjfBq9f9HxiAICkGRw6pb+gjfwC5g/5XqtILGU43un9BRAaw/ZqCQDtrCOBTApeNj7XNxHbrVhJHO6Tfzq87jdE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 7:jzOp/OknylRU2/wwnTVvY3N/gumTAwDq0rwNwts/DBVuPO8WS5opD2KkJ2L3XrLbw3CK5Xg9ZFbYEL+EC/I9Rc3N4xMCzwHqNBoTqs+agtlp6jCrauBKRBz09qpr2b9hvAPTKndmyyQ5YQAEqC9x4fQwC5UQ4blhstrK3jRCOagqyJo29RFUX0jGiLsD6PHtdIOzgjgMJnsm0Fw24ZI+ad7zUmGhEV2nBinlp2ORHJhaSs6fz+9Q+IykB2JVFh2a/cdMjUzyGxuUaOvP+NwK+jl2KWBqhxGZwuncdhgspgTuxLj+R1HYI5X7d8abndJy82hw0Z5lcv2a0ZfDilI5v32/niBHHGU+Pb3FjHXm6Wb23j0hiBWqlYazb0WmVJ0u3EjWNWPb8Dwm4FLc4OmXgY+L+A5eacfjT0a58+qH6pxu0gD80dKiqioZKzLiEEF5rH7t7tUcVtUofByhFp8C5MKm3VOYOEvtOjxgL3EK9p8+7gkTLMussdQGIGn6XBlCNOMkhMLgj4CKlqaBZQkFlA9vbYnSq/DhzWYSuFDio023dfTfR46U8LACNn9h+/q9ifDuhWQuamSRIZoe0dADuV8uuNzgovpSv8a5WSYS+AjdMlcIPdiDsZJwXUvs/+kppdYDrcEU7KYnmXmgSzuqv0xWpHRnaH0fv+gVKdNk1k2CKxH3zb7VqPEGVERpf2ORIlknB/zAOW4/ptY6zpt0fQss71U19v5W/0uRGMJaCIReXN6NcELL7JG+2oeiXSbBCbyGup0erapAMPTx6jVIMq7Ye/J37DHY2BYWCupmYYo= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2017 13:04:36.1317 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1714 Subject: Re: [dpdk-dev] Service lcores and Application 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: Fri, 30 Jun 2017 13:04:40 -0000 -----Original Message----- > Date: Fri, 30 Jun 2017 11:14:39 +0000 > From: "Van Haaren, Harry" > To: Thomas Monjalon > CC: "dev@dpdk.org" , 'Jerin Jacob' > , "Wiles, Keith" , > "Richardson, Bruce" > Subject: RE: Service lcores and Application lcores > > > From: Thomas Monjalon [mailto:thomas@monjalon.net] > > Sent: Friday, June 30, 2017 11:39 AM > > To: Van Haaren, Harry > > Cc: dev@dpdk.org; 'Jerin Jacob' ; Wiles, Keith > > ; Richardson, Bruce > > Subject: Re: Service lcores and Application lcores > > > > 30/06/2017 12:18, Van Haaren, Harry: > > > From: Thomas Monjalon [mailto:thomas@monjalon.net] > > > > 30/06/2017 10:52, Van Haaren, Harry: > > > > > From: Thomas Monjalon [mailto:thomas@monjalon.net] > > > > > > 29/06/2017 18:35, Van Haaren, Harry: > > > > > > > 3) The problem; > > > > > > > If a service core runs the SW PMD schedule() function (option 2) *AND* > > > > > > > the application lcore runs schedule() func (option 1), the result is that > > > > > > > two threads are concurrently running a multi-thread unsafe function. > > > > > > > > > > > > Which function is multi-thread unsafe? > > > > > > > > > > With the current design, the service-callback does not have to be multi-thread safe. > > > > > For example, the eventdev SW PMD is not multi-thread safe. > > > > > > > > > > The service library handles serializing access to the service-callback if multiple > > cores > > > > > are mapped to that service. This keeps the atomic complexity in one place, and keeps > > > > > services as light-weight to implement as possible. > > > > > > > > > > (We could consider forcing all service-callbacks to be multi-thread safe by using > > > > atomics, > > > > > but we would not be able to optimize away the atomic cmpset if it is not required. > > This > > > > > feels heavy handed, and would cause useless atomic ops to execute.) > > > > > > > > OK thank you for the detailed explanation. > > > > > > > > > > Why the same function would be run by the service and by the scheduler? > > > > > > > > > > The same function can be run concurrently by the application, and a service core. > > > > > The root cause that this could happen is that an application can *think* it is the > > > > > only one running threads, but in reality one or more service-cores may be running > > > > > in the background. > > > > > > > > > > The service lcores and application lcores existence without knowledge of the others > > > > > behavior is the cause of concurrent running of the multi-thread unsafe service > > function. > > > > > > > > That's the part I still don't understand. > > > > Why an application would run a function on its own core if it is already > > > > run as a service? Can we just have a check that the service API exists > > > > and that the service is running? > > > > > > The point is that really it is an application / service core mis-match. > > > The application should never run a PMD that it knows also has a service core running it. > > > > Yes > > > > > However, porting applications to the service-core API has an over-lap time where an > > > application on 17.05 will be required to call eg: rte_eventdev_schedule() itself, and > > > depending on startup EAL flags for service-cores, it may-or-may-not have to call > > schedule() manually. > > > > Yes service cores may be unavailable, depending of user configuration. > > That's why it must be possible to request the service core API > > to know whether a service is run or not. > > Yep - an application can check if a service is running by calling rte_service_is_running(struct service_spec*); > It returns true if a service-core is running, mapped to the service, and the service is start()-ed. If I understand it correctly, driver should check the the _required_ service has been running or not ? Not the _application_. Right? > > > When porting an application to service core, you just have to run this > > check, which is known to be available for DPDK 17.08 (check rte_version.h). > > Ok, so as part of porting to service-cores, applications are expected to sanity check the services vs their own lcore config. > If there's no disagreement, I will add it to the releases notes of the V+1 service-cores patchset. > > There is still a need for the rte_service_iterate() function as discussed in the other branch of this thread. > I'll wait for consensus on that and post the next revision then. > > Thanks for the questions / input! > > > > > This is pretty error prone, and mis-configuration would cause A) deadlock due to no CPU > > cycles, B) segfault due to two cores.