From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0063.outbound.protection.outlook.com [104.47.42.63]) by dpdk.org (Postfix) with ESMTP id 7BBC2378E; Mon, 26 Jun 2017 09:11:53 +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=toj5fi2Lry8HOWCXRCLm6uUzJ/OLa4YAvxLqMGC1rV4=; b=ACPl9fkjdeOUS5VRyDVLEhYVOvumLxFvNdOHwcekc30yvrVTNZAKb9BpLBOiLx0iDR++vjeJS9neDQWk8mxnjkEbwpx021Q0uT4Z6b1i0/DP3ilsg3zxsJ9WreZL1FSeIlV0VL1/q0Pq0gtvLn5tbtCpjNKiVi9AHy67T3nXMEU= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from [10.89.1.2] (14.140.2.178) by MWHPR07MB3103.namprd07.prod.outlook.com (10.172.95.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15; Mon, 26 Jun 2017 07:11:47 +0000 To: Jan Blunck , Olivier Matz References: <20170609102727.0eb7f39d@platinum> <20170609082937.21294-1-olivier.matz@6wind.com> <20170623101157.43dcafe3@platinum> Cc: dev , Ilya Matveychikov , Adrien Mazarguil , sergio.gonzalez.monroy@intel.com, stable@dpdk.org From: santosh Message-ID: <42e53bce-776f-6ede-5565-533f7c2186ed@caviumnetworks.com> Date: Mon, 26 Jun 2017 12:41:41 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: BN6PR08CA0060.namprd08.prod.outlook.com (10.172.144.22) To MWHPR07MB3103.namprd07.prod.outlook.com (10.172.95.9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f1c182ef-53d1-45d0-ab68-08d4bc629dc9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095); SRVR:MWHPR07MB3103; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103; 3:A5aeIr6nteK/B7lUj0S7Ec6GHiCugdx1IFOqX84LfgoDaUhoi3Pb4P/kXyFbkn8uI4/Sl4yIlm/55v9gE/4lPjTItsO9lvhbrPJEvkxTp5CtN7tN9LpCVicG9h0GfSORNSU8JGweIIy5nFsn50BOzO1PA3Ty4q0Vluv5MCVdn1tg1ex3I5mnQs9jSKDc/vQX1nlAI2S4bq52NLqOi/TmVp579cyAL8m6h2LlSSJMrTvfuysOm4OIQ1uWbuLH3i3rOnL/WTJaetdIWwmF3oLIkWsPJYU7iVDGL8d4qGxOMeZlJQ0ojZjpfIlzck7O6gob4qdtGLNFFEP6DFIUEsfu2paObbfCiOVZaleI3LcXvQbK7ry6wFh4Xpfy6Ml2hu0shCIhfKhxiSo22dMEPa5/9hCM3vdbnb/rhTy+xatUPp3Kyy+0uuw0WCm7r/UTaV7hk6D5+uQhD3HyuUediyuMoLIyq8dUW27bj66tMktU7ENdKXveBUDhzaEVHowOzRTSfPld7Roqokve6rOO9Q3ILRkpb8FBdJwSSHiLdAaVD9ZElsxH1iuzq4/RWWEPpOksKRfLoYGWIHdHGNWEct3SRB8sSdi/NIBqNEK0XARA1Osj3lUEhoLE+6SIVeaWhO7SpRJbJHoqYT3Z8HjjFBhFB0Yo+SvC6/zx9ewGtHy22gdM/OWkgOur1xJ2pnYjm202 X-MS-TrafficTypeDiagnostic: MWHPR07MB3103: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103; 25:eyEJVx7Lx1nNX9FIL4aliIt4Q9G+StafUbZF/CGvsxDP8ah5D7kg4H7rG0rsbFtZo6JEZ182tVMmxNB+WVGXTTKoG3gfjlIX4ORSvC925kGXS23KrhjM3bEL5GLRS+o/Z78nJAP0Z7SA5k+9aGNAXgkqbkaBR3KrxZE8rAGKjwrjyY1HipHdz9ogQPIXWjxD/wYWRLV/UdKfr2nrEU0cTUWEc5RaXrdqMKmJ3Db7aJJZhuz7qqqSjy4w0VX3A9jgd2IlQNUeZNE2NmDhvhb2WVnpRNfOhPpwPqmVt2Y44P9E8TJyPMRSAysVatyW5XpeEIkloPq21HaTo4y2kyCMFQWi5W73Z/PyDCtTcMbYiQ/aD9UzZ9/a3EsdauKwAubhcVKG/eMLFeAFBUQFQzzdo3DbOq+51QvKgagaela1bpNcAbtv/K2beO9gPHWieqwnPL9cKZAw16CcoM507/0KGWdCtYhAR4L1MsaIiDSuokCMrKza38yVJTdor9s4p7V/ry//iyXl+LlNjxEg/Xf+/sSE8o9GpKm8BbwQJB8n0ATS+eH9JlNq07Li2RmzQvd+vXdsJwReim2HDV8srOrISA0pjVsujXt8Or7I4x21LAQO48+X+c3xfd0203wVrkfCOMLYO/b7oArQifanpc/KhtFOb3v7MNfDnBxTkSI8Q1a5Cg537zMhp4cIlsVj4gt+IaqNwj5XZJ1uKFel65CW/O062eWb8lKlMzSM4G4lOMh1WEBJeenwJl9UUZ5Q/ONimIMb4+As9sRwZU6CMwKrd1vS1TL//pbi+NVaxcimWmgVOZsZnZvhfYGXtkRd4aMmRhLjhDl6mSZEGTU4tkCafn08y/i2K5HAww759ok9W5HZk7M0je1OLEMMG2i96v9rDHAiF3u3kPMmL4stbvGrUHHgLa11nOBgeZc6WCOTf6w= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103; 31:nph9uVABjq7nLBeYyPoT3zghCUaT6L8+GL3d+8yA6kR+B/OEuwPpMf7UqSTRzS0DogTHSmWRME9CF/vW+WUgeW0q+sa5K2CCuQ3RW2IpLV4LGVJN1KFlDzLytIOGwAzsN7kcAI4I2VfaAmQRad0zjHJUW/7KZKmgKI0V5QclrTyewjJy0psg7M8vahv3vK8hyU3C1EiMmuqLRF16Vc2tCoKqBFUwvMDzTwZysiWMpcIBASSNofv/UlcZF0D9rYy5+7ZtCxjJCPg+CdRPX11W5AuP6CQ1C2Ly8/1QLBdn/rjvKf31Qv0o3amAGZXru3XxueXjWrTFJEbm8YwGaotvQ2OXWazGBwzLTZDfqltJ2e4qLHvciuob7KdaNg1ZLZ4G+XTgIyE3OJuedQZOhGZHJ7/lk4qUVwfqu4San+ZbPbM1ScROYHpM//JM8+VDTo+xW7StTzlQwUJxlMmwhxYyJjz+l/JVs8+dfe4wi/Sopn709D38WhlYxuI01taOaLE7Lq61pW2WGcym03r7DlHJnp8c+ZabiIk5WAxZGt0IsIGUvvpYNcjj0irKq236z4CjXLLKfhtaCM82d9jcU5MMuuqXQU/xI+tBKjfN8jW7AgxUc3xTzIRlC1kbYOgRxpJUiE++yE+2I0T+9yAC3o6jmpZqiI1mCauBduGJvWp5+yn/tmuX1BpdsSRqZESOu5HnTeZoPkF5D+TF2fPvhM38mA== X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103; 20:CVM31BK4JQRLQrc479M+FSyYO37yT6XzbGUoePWBHBw+uqLPHk89C4x/5FYAhTd9r37onLExCNAKDdipaq0fAFkPt6iEKtu7WKxy9r9A+b/5ZJSIh1Ct+VxikvO3RSPNBs5jvo20zgTQX9Q3elZcK0SKE9ci5PRJNRL5Xf9PooCauifKB+TEt2oFciMPP+F7soKKULpI80wPFgAbC+SCyYsJ72MyRIDJg025cfOBE22vYlaqwv73rrapcxZjmE1xd7rCB+I3G5w0i4cPYWSarFiez3loR1jG3N01Ge/Q+5j9iNDhtKthUmpBrEEPt1QdHA9Jw1UBKnpKrfTXPbQxM9653C4FxiAoyTzevl+x9Wep8uPKxNLCUZ0fyWZN6iAUaAfbi/xO9nTkaAVd+EBSWteE+RnUBryXjYWpygeK6p8INnQugmMtWT2VYqmk35gyPpx+oFnRVnFPgV27R+SimdI5flIBim9JOYJRt+Sl+t0syT4W+XLd6ZBGxTWVYg1UrOv2h/zxNiW0D1QTxyBzGG104kPOOKfPrXVPvfTQ8eJ4nTX6W6805IaLpJKbqL8abyNn3l/51NZRDK5AEb5yl6eIZ6qeFoN7KZPKaDXs43U= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(93006095)(10201501046)(100000703101)(100105400095)(6041248)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR07MB3103; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR07MB3103; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA3TUIzMTAzOzQ6UHVFaytOOUFORUJmVTVZMndhdnpRbFJURXRh?= =?utf-8?B?MWNaSzVxd3grbWJRTW0zRUF1QnI1NDZ2Qmx5OSsxTjU5UE9GWlVCZkFCY2tP?= =?utf-8?B?cW0yNGJTa2JUcHZZNzVSaTQ3V2lVVW5ySHc1dERSVVhmVGMyc0hhOU14d1k0?= =?utf-8?B?cFpGTUlIQnRoSENRbVptZS9KR2xTYnVkTS9oOEZBS25nUHcwTkRwLzh3cmwz?= =?utf-8?B?RVhtSFd4M1IwNXVTM1l4Y3g4Rlc1ckdrNzRzR0QzNnp5eUJNdUdCUUJFZmhk?= =?utf-8?B?dkNoUGptNGcxWUdlVEtBek11YWdzUWFVZU9YbkIxcjZQcnkwR29lR0wxS0Er?= =?utf-8?B?NDJONnVtZmVwaWFZcDYrSWNyOWpiT05wTExtT2txOERUMXR6Skx4VSsvMnUz?= =?utf-8?B?bXNsNUxDTzNYSEdpUVZhbHFZT2NIc0hBN2M3RTBRa2ZHN3ZHYlVkbC9aVVdu?= =?utf-8?B?TmpYS3FJd3pNNzBCUXVDRU44S0NUdHp1QkRFalNXaVA4aXp3UGd4QTFnRDVm?= =?utf-8?B?Lzc4YWFaTkhyV1JUK1RNMytSaWxVT3VUV3dFeG5MeW5HeHNXOHYrS2RtWStq?= =?utf-8?B?RnpvanZaTEN1UTI5WGdkWFd4VmlBSk1hSjhPcU1ta2JoZmg4NG1OQ1hzc3Ay?= =?utf-8?B?UGtxTUJKUEFCcG1lR25oMjl0TmZaR0drbFowcjJrVUE0d1JsNlBRTUYrSFV0?= =?utf-8?B?cmg3MjdyYTVYR0RSd0N2UnlPQXNvSTZnVUFTYXR1eUhCa3AvWDhQSDJ2dktI?= =?utf-8?B?ZDZLbGlLVkxxZjNUdG1iSEVGcnRZWTN6N1IwcmpTNlFnVXdHTzduSlhBcnQ3?= =?utf-8?B?cW1jQkFDUlR0Qmo0Wk1IV08xWjJVTHNEdGt6ajRQOVJBWmc4U0xpaVhZTHg0?= =?utf-8?B?RG43eFNZZGtOaGtveFVSL2s5SDY4TFJxNitNVFVKdUFQR0NmRGsyNmFkUWN3?= =?utf-8?B?Q3AvczN4UTl0QWZZZFpnNVE5SkxTcC83ZlJjdzdETHM0cjh6WnMzUWpYTVd4?= =?utf-8?B?RmU3OEN1MllkUUpNZ1lFeUcxWC9UUkxoYURUR0dxR3pYTkd2SVFhdXhLN2Jj?= =?utf-8?B?RnpHa21xZzVJTWgzajdaQmZiRVZzWHp5Q0ZBWjk3ckNxcDBSQmxLTXlJSDR3?= =?utf-8?B?alhRdWdKTTZPTHVJd0w3MFRlVTM1LzRoTkdMQTdlK2x3T1pvZkMyaDNTVTJa?= =?utf-8?B?eW9jMzF3TDJoK29hY3d0WWJhTWZtZmhseTkyTGZzZC95bzdxV01xczNDeUdJ?= =?utf-8?B?K3VoNUN0NUgwdHlwelU5eWtja0FyU0kvcUUrWDdSTWxhUzVYREF5OUxJL2FX?= =?utf-8?B?cTJMVXNwWDEvOS9jT3B2TnhpakpNcWh6V3VUeU1yMGxGL2d4bnlkWGlvODJP?= =?utf-8?B?aVZocmZacTh5OFRCZ1JUUDRQU2d5SDNaYkFCWGJ0T0RQV0F6OFFXcDJqaU02?= =?utf-8?B?Wk1OaXo0cHRkcSs4bklqdGtueHhYdDNVL2RmemdFblZOMy9wRzlYeWFqS3dp?= =?utf-8?B?MDA2YmRSQlVCbjl5WjBUTlBjZm1jYW1lcVpFa0VTM0VYM0pzTlpYWngrbEN0?= =?utf-8?B?dXExN3pVdklMcHdqd2krOE55TXNoa1NsK1VCcyt3cWF2WlBpUmEyNDRoZEdY?= =?utf-8?Q?wtGwPfWF+OUOX+dnyd+?= X-Forefront-PRVS: 0350D7A55D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6049001)(6009001)(39400400002)(39450400003)(39840400002)(39410400002)(377454003)(24454002)(4326008)(72206003)(90366009)(230700001)(38730400002)(23676002)(305945005)(5009440100003)(31686004)(42882006)(83506001)(6666003)(42186005)(2950100002)(229853002)(77096006)(93886004)(6246003)(47776003)(3846002)(65956001)(54906002)(64126003)(50466002)(86152003)(6486002)(33646002)(66066001)(65806001)(50986999)(65826007)(5660300001)(8676002)(4001350100001)(53936002)(36756003)(31696002)(2906002)(189998001)(6116002)(81156014)(81166006)(478600001)(54356999)(53546010)(7736002)(25786009)(76176999)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3103; H:[10.89.1.2]; FPR:; SPF:None; MLV:nov; PTR:InfoNoRecords; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA3TUIzMTAzOzIzOkdNSmptRmszdS9Ca3c4VmRwaFFPbXQrNnhu?= =?utf-8?B?dk4xSEN5bnZXeUY5Um1hZC9aV3pGeWJkRlZLUXB2azhBNFE2N0VGT2piajBO?= =?utf-8?B?eEVKU2s0WDJ2Vk9lNCtHbHVCNEpYSjl2U3YwRFFZQXlCdytyZUZEcjhjOHR2?= =?utf-8?B?SlgyZmRnV2VjTFJ0RVBIeHhFWmRtbE43WlFvWFFDbjExaEJPWkRjZGJTZkhX?= =?utf-8?B?bDRic1lNS24zanNqaWNSMVFIVzFvd1poajNVNjl6YmlJZERlemdIZ2lYcGNh?= =?utf-8?B?L1ZGL2NqMlJlbm0vUFp3aVptVXBvQ2xIdEpmdms4eTRwTmJBakhrbTIrQzYz?= =?utf-8?B?TERWZ1NQZ0diOTA4R0FHRGNENFRTSktZQVFUSmN5V3BDcUlNNlg4V2dJdWZu?= =?utf-8?B?cm5Ta21wZHpBQnhKcTI2NHRROU1HcHFLdDNTOXRpK2FRT2F5L2hoQjFSQWVy?= =?utf-8?B?bVdMMGJ0S1o3RHRxa05WOFRLUHMxNXREQnhZZWVNRDFXYmwyejgxazBaRGNx?= =?utf-8?B?SWtjdWt3OUszZWRzOGZGWVBucnBZZEhOZlhSM3piQ1lHNCtRTnlla3FNckZB?= =?utf-8?B?OVBWUjFSb2ZKUVFJbEFqR09vajJqWGFnQURKOHZvcVpvQWp3T1JXU3A3bGVk?= =?utf-8?B?empYZXZGcThtTVdZYWZLRFIrRjlXb2lIT2M0K2VIZzdTOUk5R0JjREg1NjE1?= =?utf-8?B?bmlvVSs4QnZIcndPOUR3NHJKekptSWIrU1ZxNEYwR29vZ1RvMjVPSFBpakNK?= =?utf-8?B?TjhGcjhua1phMGZwcHhUcjNCN1JRTTVrc1d2cHdZR0JXbzlGSjZ0Z1dmTFUv?= =?utf-8?B?Z3lOUXFUK3Z5a1NwVG4xQXZyVkRLamloNXJZbDdyZkRsQk5EK1dNS2dXZElH?= =?utf-8?B?bDdrVzhvREQ3WVRwOW1mamYrd3M5SXJKdEpQSTkzU1QrcFZrV3FvMHBUdS9H?= =?utf-8?B?QjVxYzRVdWV2Zi9QL2oyT20vd25jSUhSN2Nub0tWYU0zTjlkUkdUYlJvTEFX?= =?utf-8?B?c0VhRjh0VmxJQnNBNmI4bjlvVUErMHVIN0M1dCtWZ1lMNFR3THQyb0VHbUtT?= =?utf-8?B?VWF6bjNSdGNYbFlwSUVBMDIybXpQSEZpQldyT0xxWDhVZzJRZFlOVGVJRVlt?= =?utf-8?B?akJKQitsejd6Ym9EOHJxbDZWdVNMbDQrTnlQR0ZMNmNMcE5scDlNR3JHVDU3?= =?utf-8?B?aUpVTTZhQzg4NENJMW9OaFdpVHZveXlIR1NwSVhWbnJKanVNSjYrLzVzNUov?= =?utf-8?B?RUlqTHpCSFVFN01mSitxOU5CQ0dhK3FyeG9WS2VvRGpCT1VQNDF3QVVxdGhP?= =?utf-8?B?L0k2c25JZ012M1dkaDV0cnZPQlR6U3FzYTltSkVFNlFQYVJUY3d2Rm82Z1pl?= =?utf-8?B?MEhqcStLZVdTQm1hcmNuaGJ0UGxHN1VSVjIzaTJtcjVBWlg0RUhENStvTm5F?= =?utf-8?B?UEswUERMSk05Vm5mR2Z6K1NLSndqMHkzZkcvQk42NUt0bVBKdlFpU0hRTU0w?= =?utf-8?B?ZUh2bmlKVk5lNkVvakVkRmtUbTdNZWZBS3NsN3RIc0JjMWgwWU43aUFhVHcw?= =?utf-8?B?RENCR1dvWGlJcnA3WHpFdUh2alBHdjRWTkRaWnhyTm5NT2puWHp3aTdBYWNQ?= =?utf-8?B?TGZ5RXdOTkR3dDdpY3lXWTRrb0ErUEZNd3BvQlgzTDJ5QWJpYks1ZzNVdG9k?= =?utf-8?B?bXNKWlZZRDg1TXZlSk0venV3cEJMTFZXTUhlRXZmYU9xbEczZUxMMDRwaDZV?= =?utf-8?B?U21kSExIa1dmaUJJWVZvNjNYV2NMWTNwWFk3M0VaWjJaMWV0SDZEMUR6N1VO?= =?utf-8?B?ZWM2Yy9FRE1pTkF1NTYva0VyQ2pRcjBtRlorTG56dHF0SjJxb1RXRXg0alhE?= =?utf-8?B?dU9mZnpwcURXc3loZWxHOVlyT3VmenNpUGxrYlVpK2tEbUhPV01XdmZvV1g5?= =?utf-8?B?U3dzV1ZxU0pBPT0=?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA3TUIzMTAzOzY6enExaWtrc1pXeDd5WVBkbHVZZGd5MU1yb1U0?= =?utf-8?B?ZlFvSE8rWUg3bCtMd24rdHNnMy82TUhSSHQxRzBCd3YxQ3QwK3BwblA1U0sz?= =?utf-8?B?UUdhUDFuVXNKS3BjUlVzdGFEUnhra2dPcU5WTkZBdXN5Qi9ySjM4bFBSU1dv?= =?utf-8?B?M2l0Q1JBOWk1am5pYk9qT1ZISnlUOFZTUGZrQnBDOUJkSVVTSjFXbWtwNmF0?= =?utf-8?B?WVN2L1RsUHJKVGViQmIyblR2cllrOEx4clVOcnJmSTduU21pVHkxK2dtMGRM?= =?utf-8?B?a25XRStaNndSSzJLa1RNeEkralFSdVNJSGhGdFhvYk9IT0VqYzRpSUVhOU1T?= =?utf-8?B?VlpsYzZXKzIvK0RzMmdBdzh4dzRYTXF2QzNZTW1hZW9vRFhTcWw3WGdRbi9H?= =?utf-8?B?T3N0NDNtNnk4Z0JHZWI2c0JZYTB3WWxCaGNxWCt2dFhkUGNDU0prc0JNN0RT?= =?utf-8?B?R2JnSEVQTzZCTWpiUXZLOHEzYkRuVWt6WTdiS3I0SVgxTmVOdk02WWpvRXJ4?= =?utf-8?B?K3l1ek9yejJhbHA2OW9WNkVzbEs4RWxscjFYREhIcmw5cnlwU1BTSWNIVDU2?= =?utf-8?B?cmFoRUFTdVlTaE4yRVA0TlZtMTNraDZRb3prTjJrUWY5cjM5NnZUb1kxTXZt?= =?utf-8?B?Rkd0cEFtUWl6L2xIajBJMjduelRtam9FbEd4NUdsbDQ4MW5WT1d0WU5FSHlk?= =?utf-8?B?L2luSTEyUEhvNU8rNEZwNUY1d2JmMVlBTEsrR0ZsMFcySWxERzZyWEZVMFlu?= =?utf-8?B?cVBkOUNrVHd6YWdhUXE2UEJDNlNSN1NGSUZOdCtsS2RlSCt5RWV5UnFpaFFE?= =?utf-8?B?ODR1bDI1VGduZ3NLdHJtRDA0d0p0UlVlVGhTSnFUU2dLbEQ1Nmg0ODBZYVBj?= =?utf-8?B?dDFMaHhpc0RjNE5hZVI5UGRvWDY4RWhVY0RNY2hIK3lVbUpFY3dBRXRYRWRS?= =?utf-8?B?bVZteUpTKzJjZ0o2V1BLNzRESDNMUEE4UjdVcDNteWFOOGVtMldtRCtLRzJx?= =?utf-8?B?R3pYaE5wbzZTekd4endFR0dTT3Y5QkRMNEpmT1Z3MEo5bm9ENTZOZTFWZ2JG?= =?utf-8?B?clF6ekpXNUJ6MHBiR1U5dkljUmNlS3ZkR2RyYWhSQis2L296eHlBU1lUQTJs?= =?utf-8?B?Sm4rU3d6S3JKUTBBWjhoOFZPRW56K0lYUFFja0V6akRESCtvUXFxZlBSakMx?= =?utf-8?B?WTlDWjAvT212SkJPcUNJc1EvNmNicWZIL2xlb3BpNzVpQkJTSFhObnVHQ1dI?= =?utf-8?B?dUFaWmUyek5HdFBmOWlyaElQVk9kRXJQZUd4bnRtQmJiUlp2dWh2ZEhocTFT?= =?utf-8?Q?7h5J5WyFrmhF9b61ov8/qpUcHp8uqKE=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103; 5:JWpAgBerKsMuyv5iXaLgPXH0EQJ8ee2MByEkgiDqe4vq0Lfi+5QhdVpY0PWOldmh5tEfwtFv/BKnTyKvh1/S0IE08mfcNj7IJqAXYcCSO/AONslzzaz/Cao735WuGgzWJCS22enaLb8wV+RCXWbY8nSSZVJukVfmjRZwjju+S4evMUjEvj2j+UjZkGQkk2dENvW6SrNzXBsvXIsjOtJTu+GeuOcHNWDR54YrdH74ZgANd+RYZSGJCiNBtmVD40RQotDvMwXuA/tRHmadj/uPb+ekxpVG8DXC7lq1NAyYzD9vPVCqVuoGihHpjatAtu6of0kGdG41A2JF9SExNbHvEuggzIcoByg7z2fkCzoGL1BMyto7/X891KLWVPSnI+ry93BV1UWQJEiUp4GYSkAwCrmMXzd41IWtVC01ttltW4tUKiClUXArp/w2hXg3z+zdTNqRm5nDJgdRMoQnDC/9oQeiHbI+u0pleWjlf0Jir8i5sXqi8juW6VHS+6ZqYlIf; 24:UnRmFUftDce9wCfcUrTa/8f+eNlzgP7p9Ci+Tmr+5pQjrttK9mqtmGY1wjLEGCPm4ohgC9NTKmL6G0ocX0KdvegE90xBaS7u4BeRAf04nd0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103; 7:dtwOWmLwkqmYppJL9mQDyRyQKM4HWLJsYRj8UHBVAx5OAfvXMdQbGCalcasJYSQx31MvdrqeAPClasOJm9uIEUbPyBUbbWWhoeO4HeNFIMuVBsswwghri5JIFokvD0GZUGaoCVe+3ZIXle3mBg0b2NYsvKt9T/le882o6mpWr+vb89hKjeuvxJl+oCX8xKmqAx3UKRPbKsSqnDesllVuQ/496t5JoEyc8V3ND7SqH+0ORoIIQ4GFjB1aSeBf7GnnpZSq8ImZRLUExzpN7ZeSLjAL8yxZUqzHejzfKk4eJZmMymkxKEiB8Bnv+/x7NjYtFSPl7bCipw8gPSbHz03brKYZykOFjsgbTwiA2xeMl7mQwmEcaYlgjbYUTbI0q8LCRECIjcSgle74z4og/u8hBuTIZPwyNx3AEjHNQD9nSPgOWjHkTfnSTlpBAD5TZEi4ukQjgHuAZWq1yRmTK0hqaKfJTFoth3FgCPurutiKdRMFQZsn7u9kXgEMzHsYngjUDFDLTOrn9KQKEVLDz4JAOfttLfjD9gYa4Lqtj9ff9R7vqQsLejFIzy/zPH3QxxmoBqTsTcOYaotAlGGC3O1Thvb0JDfejD1qiwHqxgg0FT2UJ53fZGdMIsD73pJkoYbCKDOaNhRhQ2+EF4iYQsmFNXIM7JVPw7amNKH2M8jAtq6pJ+5OVbxo7PYafqFm01HLi7xYEedx1Ub9iIAROoo/dau/O9QiF7zayhNTaikfNJZFthVVjq48R1N5oKyFkWHhGk7KfzQU33YgmFAkuenXBBXljOctR02E68Wu1Nmp4Z4= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2017 07:11:47.7076 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3103 Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH] eal: don't advertise a physical address when no hugepages X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 07:11:54 -0000 Hi Olivier, On Friday 23 June 2017 10:38 PM, Jan Blunck wrote: > On Fri, Jun 23, 2017 at 10:11 AM, Olivier Matz wrote: >> Hi Jan, >> >> On Sat, 10 Jun 2017 10:31:22 +0200, Jan Blunck wrote: >>> On Fri, Jun 9, 2017 at 10:29 AM, Olivier Matz wrote: >>>> When populating a mempool with a virtual memory area, the mempool >>>> library expects to be able to get the physical address of each page. >>>> >>>> When started with --no-huge, the physical addresses may not be available >>>> because the pages are not locked in memory. It sometimes returns >>>> RTE_BAD_PHYS_ADDR, which makes the mempool_populate() function to fail. >>>> >>>> This was working before the commit cdc242f260e7 ("eal/linux: support >>>> running as unprivileged user"), because rte_mem_virt2phy() was returning >>>> 0 instead of RTE_BAD_PHYS_ADDR, which was seen as a valid physical >>>> address. >>>> >>>> Since --no-huge is a debug function that breaks the support of physical >>>> drivers, always set physical addresses to RTE_BAD_PHYS_ADDR in memzones >>>> or in rte_mem_virt2phy(), and ensure that mempool won't complain in that >>>> case. >>>> >>>> Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user") >>>> >>>> CC: stable@dpdk.org >>>> Signed-off-by: Olivier Matz >>>> --- >>>> lib/librte_eal/common/eal_common_memzone.c | 5 ++++- >>>> lib/librte_eal/linuxapp/eal/eal_memory.c | 7 +++++++ >>>> lib/librte_mempool/rte_mempool.c | 2 +- >>>> 3 files changed, 12 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c >>>> index 3026e36b8..c465c8fc2 100644 >>>> --- a/lib/librte_eal/common/eal_common_memzone.c >>>> +++ b/lib/librte_eal/common/eal_common_memzone.c >>>> @@ -251,7 +251,10 @@ memzone_reserve_aligned_thread_unsafe(const char *name, size_t len, >>>> >>>> mcfg->memzone_cnt++; >>>> snprintf(mz->name, sizeof(mz->name), "%s", name); >>>> - mz->phys_addr = rte_malloc_virt2phy(mz_addr); >>>> + if (rte_eal_has_hugepages()) >>>> + mz->phys_addr = rte_malloc_virt2phy(mz_addr); >>>> + else >>>> + mz->phys_addr = RTE_BAD_PHYS_ADDR; >>> Since you set phys_addrs_available to false rte_malloc_virt2phy() >>> anyway returns RTE_BAD_PHYS_ADDR so I believe the conditional isn't >>> necessary here. >>> >>> Rest of the patch looks good to me. >> The variable phys_addrs_available only impacts rte_mem_virt2phy(). >> Here, for memzones allocation, rte_malloc_virt2phy() is used, and >> it gets its physical address by retrieving it from the memseg structure. >> >> With the full patch, "dump_memzone" displays something like: >> Zone 0: name:, phys:0xffffffffffffffff, len:0x30100, [...] >> ... >> >> If I strip the memzone part, it displays: >> Zone 0: name:, phys:0x7fe382c62640, len:0x30100, [...] >> ... >> >> So I think we should either keep the patch as is, or change the memseg >> and malloc part like this (it's maybe better): >> >> --- a/lib/librte_eal/common/rte_malloc.c >> +++ b/lib/librte_eal/common/rte_malloc.c >> @@ -254,5 +254,7 @@ rte_malloc_virt2phy(const void *addr) >> const struct malloc_elem *elem = malloc_elem_from_data(addr); >> if (elem == NULL) >> return 0; >> + if (elem->ms->phys_addr == RTE_BAD_PHYS_ADDR) >> + return RTE_BAD_PHYS_ADDR; >> return elem->ms->phys_addr + ((uintptr_t)addr - (uintptr_t)elem->ms->addr); >> } >> diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c >> index 1c99852..2a401ca 100644 >> --- a/lib/librte_eal/linuxapp/eal/eal_memory.c >> +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c >> @@ -973,7 +973,7 @@ rte_eal_hugepage_init(void) >> strerror(errno)); >> return -1; >> } >> - mcfg->memseg[0].phys_addr = (phys_addr_t)(uintptr_t)addr; >> + mcfg->memseg[0].phys_addr = RTE_BAD_PHYS_ADDR; >> mcfg->memseg[0].addr = addr; >> mcfg->memseg[0].hugepage_sz = RTE_PGSIZE_4K; >> mcfg->memseg[0].len = internal_config.memory; >> >> >> Let me know what you are ok with this and I'll send a v2. >> > This approach looks better to me. > > hanks, > Jan Approach LGTM, though small comment: I think we also need to fix error return description for API rte_malloc_virt2phy. It says 'NULL' on error. It should be 0 or RTE_BAD_PHYS_ADDR. In fact, we should remove '0' as error return and keep RTE_BAD_PHYS_ADDR as the error value. If so then change may look like: if (elem == NULL || elem->ms->phys_addr == RTE_BAD_PHYS_ADDR) return RTE_BAD_PHYS_ADDR; Provided that return value '0' considered as error value in current code. Having said that, few drivers using rte_malloc_virt2phy without an error check. I guess now they must check return value before using phys_addr_t.