From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.JacobKollanukkaran@cavium.com>
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 <dev@dpdk.org>; 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 <jerin.jacob@caviumnetworks.com>
To: "Van Haaren, Harry" <harry.van.haaren@intel.com>
Cc: Thomas Monjalon <thomas@monjalon.net>, "dev@dpdk.org" <dev@dpdk.org>,
 "Wiles, Keith" <keith.wiles@intel.com>,
 "Richardson, Bruce" <bruce.richardson@intel.com>
Message-ID: <20170630130422.GB4578@jerin>
References: <E923DB57A917B54B9182A2E928D00FA640C33E88@IRSMSX102.ger.corp.intel.com>
 <2363216.DczB0HHKeo@xps>
 <E923DB57A917B54B9182A2E928D00FA640C34563@IRSMSX102.ger.corp.intel.com>
 <1614665.GlQH7FWj5q@xps>
 <E923DB57A917B54B9182A2E928D00FA640C3467F@IRSMSX102.ger.corp.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <E923DB57A917B54B9182A2E928D00FA640C3467F@IRSMSX102.ger.corp.intel.com>
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: <BLUPR0701MB1714297932A453EC561BC387E3D30@BLUPR0701MB1714.namprd07.prod.outlook.com>
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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=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" <harry.van.haaren@intel.com>
> To: Thomas Monjalon <thomas@monjalon.net>
> CC: "dev@dpdk.org" <dev@dpdk.org>, 'Jerin Jacob'
>  <jerin.jacob@caviumnetworks.com>, "Wiles, Keith" <keith.wiles@intel.com>,
>  "Richardson, Bruce" <bruce.richardson@intel.com>
> 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 <harry.van.haaren@intel.com>
> > Cc: dev@dpdk.org; 'Jerin Jacob' <jerin.jacob@caviumnetworks.com>; Wiles, Keith
> > <keith.wiles@intel.com>; Richardson, Bruce <bruce.richardson@intel.com>
> > 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.