From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0080.outbound.protection.outlook.com [104.47.41.80]) by dpdk.org (Postfix) with ESMTP id 82ECD58CB for ; Mon, 10 Jul 2017 18:09:56 +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=I6HBDoik1+E6HpXaW5XMQV1CimPMfDGkQz1XEt+86c0=; b=oiiyxz3WCEtNpckugf4k81WdHVAQSEyoUpXnFc+g7RPf1nmfU0pWEFvoYV+o1PybtKj7POuTuRNiRqOFqtJJ55vDWXBHPlhr5YqYpKNsPgdOExaQsqDX+n7sNM8LT1BcyNmCc6PqSjYRqZ7ZXUA9Qxu94H/aRgiOilNfa6417to= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from [192.168.0.103] (103.76.56.167) by BN6PR07MB3092.namprd07.prod.outlook.com (10.172.105.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Mon, 10 Jul 2017 16:09:51 +0000 To: Olivier Matz References: <20170621173248.1313-1-santosh.shukla@caviumnetworks.com> <20170621173248.1313-2-santosh.shukla@caviumnetworks.com> <20170703183705.627d185a@platinum> <2da743bb-9581-e181-6540-3ca9956063cb@caviumnetworks.com> <20170710155556.124c98ac@platinum> Cc: dev@dpdk.org, thomas@monjalon.net, hemant.agrawal@nxp.com, jerin.jacob@caviumnetworks.com, bruce.richardson@intel.com From: santosh Message-ID: <11702f70-a4ca-2ea1-f28c-781a5819725f@caviumnetworks.com> Date: Mon, 10 Jul 2017 21:39:36 +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: <20170710155556.124c98ac@platinum> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [103.76.56.167] X-ClientProxiedBy: SG2PR0601CA0015.apcprd06.prod.outlook.com (10.170.128.25) To BN6PR07MB3092.namprd07.prod.outlook.com (10.172.105.10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 72bcd8c9-84bb-46c9-6b15-08d4c7ae1a21 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:BN6PR07MB3092; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 3:fk0M6TKC40VYtP0q0KSAxkCtBiTtmngVvyOP6HifouWwSacMiPKJmEIodDQMbIbxBFaLoTxYh1LB8fqg1dbsjjywEF6t/iBR2J50DbthDFLYOHvseBRvtrE8fBfhS+eKuklCY4kHG98APvy+LWOXUF2av4xXZ/58lzXk315JZWSyYADChvpGzG+RiBPveEu2Aum8GNUJzJNinSZwlWm8M2Vx7fjaQrvOUec5Tw9TdRMneF86ObDAh8fwtcaFVCPMRNl734xzxonK3FEf7ezd676GPr1ZYeUvbg9BJSjmUXTABmu9wChh9rYMmjEA/hhbKOPvOarWQGh3gVWybc22Fsq373okd83KH5cpS0rKSN3StLg88+nIn+9xtqXi1uUW+2mb1xZRFG3Lk6bQCRmQh0vB+l8T0/gLgn4EO1M2nTWeRo67veuhHfjxu9mJXh+4eF21UWTb7ds+eola2dlOaeplOxhNMshiWpcbvbZXeAu8n6+XnNEYPwLIcJ6JpZVNP6s7fGMEmbuokIdC5aN7hIsThOW3jtGviso8IM3hHCwgfFUGoQY6Sa2+FarbAnIMcF7+xGcEP5pjlpKjpT9jpzlC4tTbR6Hic9RYaOfdE7tOEX7m2UAWZYfMUUrMBq783lyRTJZmeu/lQ/TaAIoUhXeUBpzrnh7RmtpB3cUWLueVR3iP4g8HskCKzkbcO3venrYjffv6/hjtcl91YnJq+oTskbed2XXMu1mjbtqXAtI= X-MS-TrafficTypeDiagnostic: BN6PR07MB3092: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 25:qGdGDe/IeWb9tb+zxhL3xsuN9JX0ykoV47aCekJ4/cEjX5olx2vbrlMC5uK2Wb1K/jyyyn6bIXaXjbmKfGpkopHeQKcUfQKBo/xOBJDroIfqToIJL+xmiEryau2L+zx/CMUOnZah9H/sRPa+qJtABsyJTABXXRi08H464Kp2wTX67Dlkjo9RqM3ctfeYMB0+zXJkX4AzdRBF9dDd6Sr4UhNzXdi71aE74Pi/h1kLWsYCUi1tfLY5e29I6xAEwCn42vs34NDvgx4UgZQaCSWbl9Tc8eV7Ezf7/M+EPMIP+ABtHQ+svNUJ2iA1rGKBK2PBvCN3/0UbxpI6j2ydBXkzXJ63VLeJNmHJMS94SfkhNS2hzdjFJw4VpBqkFjsS6XtQGZG0jHNNCDjVh7XfiSBalVyM+tlsLHSaR7CumIiY3MNf0sfTgBh6xnoudQ5CPz0t51+u/vZLP4UP1+ftxGHGuHcavHLTMqo3rhEyOwU9ZIqv+ki31tXI9fkVnL+jJQAzOsxaddL6RJCp+0g+3MlEpzWIihTVDKO4VhoCU8GulpKeJ7zOBGxRI76TM10pdadSddCRBTvmYpLTVhz8492vfjdZ3cFylKNENnt+LyWjBMO5Gj+ZCO5hB4wat1wrz8rBxIiP+DnKArPBoNJ/t1hLmcNNQPbN89mBWIaJyF8Gunra8c818vXp2QfaYwUie0fqM5gwL5I03If3dgvFA39BVrePM8q4kg2e4VSRPxFa8ixoMiAz754pIPqB70SjxRZT2Zoy07Y7VjJu1kxbA/tfblu8bLx5qM0OEiFfCBRL6tFQXpA3YsVafqc5Fqde071vhnHkOzVbEMJCzgwakESIV/zg86WPrC2Ml1iK6BSgftV/+vPBMzWSeN+eamn+CLBFjj+EaNpZpn6RPGyI9gIcMKS8TC1m6tJJga0FtzXkUJQ= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 31:9cD+BVyorHrCy/sXjTx8orxTF7tDE0rI8NcPs1iRJYj39voRxfBbmU6SfKBXEYkJD7QENDzHPGRFAIFJ2LUYxBQHv41T4z3s4TiBpQbzfRoXidJ/5ZLj2l3EGZRmEJPr9b24OifsN73EZFb4wErNc73wRCh9guL/JuVNqZcYqAdiBIa7JUuw3KKCQC2TzUAUnwQKiQnB7X23hUzqV4hEsEGi8w7VQK2kiP4HbrSj3j4/o0y7x3K82pvWVOiN0VOTorj0PO0mdGg7Q+tiXjHrXbPG7GJjcuZrsRJeut5bZO4PZorwexlik3Sg/aa4ZQGFg5nuIQuCPG8XOg4afFPGAGMCVvhl876Y16Q2hAHfFZMnohH5jdQep2/t7mT7xGzEF0KaltDMlCThMkPCh3qfZxACoQyY8wZNWoCHXMFvcYlFrB9+LTS4RpqSWZgH2XDxMfRXwltGNzF1/2AfM2blR+liKiQmuaqnDbpviFiYuNVahwgi6EAJjO0fQeJMZixwUa+Wkv5Eqxod8i93DOaxtVJEeY0M29O5PyoGaxu0noDBasTp6Z2QNMCvwsiPynFi2RhZ9ovn5WrxlCG6Il/0aBvCbmC1Ihb/tBH/4biWw45m7nlEEK6zHJnYpoloukMyuI21FXeyFkAHiHhye7hY24Ge6en+FnPmjYn7hcdEmxM= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 20:mTxYd9dRriTYtu9urO1bza2K4dS7gUfb7JEYFlkJzDOwddmXG4kGdA6lweBlXomAHKKdvD+3tIIP7IrEtg+W2o0HzuEJYdI+IYEdC3fIparGHliCFaJ6+ngwohag07Qk6edX5JRaziAT/moE4JoecnPu0fd/Pc2+cwdsXJlXDBin+0ZVopBIrLnNq1VPi/VZTPd+5gnMEnsResLKjfcl7zgf19RbH3VmCl876x4ybkKMYKQGJEPQEPAmzCuS2k/yBaZFrTVOYkeo0f+gX0/QRfLVn/slPZRY1kXst8561j28X7wMcqFenBLAFRJXg928dNX/6bCh2sO/cwTKEW8sjQECR1PA/gv/LskkhzBxtFXMKRd5yo66TB+LnfMstQ2leHYwwUCaHsbODe3o2YShNmDvfbIPo//GXYzRO7t+jAmyIxlpd7E0rYDsROIKnoPVqG63wwsjfSx3MkmQs3doTYFNu1uapOaIZHAnAel/2YsACxDYormLGadkqZF/SaATGzFg7ujkyxxXte3gi2agKawxchYDzF2KWwwUXNCz8Q3Rt8s614IBIYtfH5jzw0+iBp4lyO83uWdI5S6yRf2JIQ/GPw2ISp+ypPk3MCYaHiI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(148574349560750); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3092; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3092; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3092; 4:9j/owhzN82Dhvfi3AdQAjgnCdcrdf/QOQtcNpD?= =?Windows-1252?Q?bspKrOXrP5iLS2h8cNg5vUWVRmJL/QIVPB+/kKxgDOkW1iuBI4y/dBgK?= =?Windows-1252?Q?YQbfE0PedH/RZI6+e+PPqqE3E7ofr/dC0rtZ+GGcU72skKKlg//iKJKF?= =?Windows-1252?Q?USjEj6MTASVQu5Hg5qf+Oc3DXjxCAYakNeMmCDLtVWR0gy3g/5H4TeQn?= =?Windows-1252?Q?nSpMI858UeVQfr9QWwyifJnLz1zR1z2xE9XdsbAqwrUUmVZIl8PeE7o2?= =?Windows-1252?Q?sBup+KZuELzUAMy272XFDxhXK//bE7aiKrghv4DFJt9Q5xLZnwrSgyJh?= =?Windows-1252?Q?tKw7E42f4GQ9ZVRkpezeX/k4nQ+B0xszj6Y5eKOmAJVNW1m2cESpczDo?= =?Windows-1252?Q?uExJDLbgA1A4/glrJay6NigmU+lYVZrwKqIzqh503LAyEsM6yvZ2p0WT?= =?Windows-1252?Q?3Cl1JBLTjt06t9VhD20XSwmFM5ss4XE0hIo4kbrHdPs+VkkcdUmwE6Dn?= =?Windows-1252?Q?kOsbh+3U1G2D0l7YLJLoN8kfbYcAn6YerZ+9G5yPhzilHocPY3hYxCcI?= =?Windows-1252?Q?HWLaWfe3DRz7nvzuznBqgCEQAgxCvtFKDaX3TI1iigTNVxlgxpQ5WsWx?= =?Windows-1252?Q?JNZIquShoultcibnt54732rx/ZTFtGCqUJ0RO87kl7woCn4/r/oalAVK?= =?Windows-1252?Q?paj1vbmXopi81QMUHOu5wQwfZLQGNDnUpEYBNNYbMTAo5QibnfA3ryNR?= =?Windows-1252?Q?UGWuANZbsk8qGcwTLTcb1PLtcnTzUrmP1lug1MzGjIP7vzXALTvzg1aj?= =?Windows-1252?Q?RJjTM9T3osVJclGUMHme9FtN3DCRvKS7P1Eq4KGmPYVSAbmSQ37bfdlb?= =?Windows-1252?Q?CXyXv1WOoQ4fImfJXWyv8kVKmcHvUmVX/Uh6eBgEELv15pAcCduTxRcc?= =?Windows-1252?Q?PpHIUMMnxMOnofXm/9YTbtVc9F9CIY8hoCPhvEpqBf0JuLiwvQJu4YpO?= =?Windows-1252?Q?OPZ7nuQGAPK0Vf9Hk3U5Ss6OzrNlF+9eSbGpkdcIFHxgLNLciYIWm6dl?= =?Windows-1252?Q?dQDeOqYE+jrdOrLxaF1UlIxkG7kO46OYrgZ6pgf54y95t+Mzl0txERhd?= =?Windows-1252?Q?901qCqZ/bW4pifexMBw6n9H5eAznAKiCZjXKvfvtM04T/8WuzP2Haohw?= =?Windows-1252?Q?uJH9FENnX7CjRSV2UNK63PUCtLaDL305kOuDlAMq1imgtggnMWOS90v9?= =?Windows-1252?Q?OuKozkcwQ8wXQJJO691RLwtPsdMCyZCuZpibHM9yiAhoo/jfNGfl2aoC?= =?Windows-1252?Q?mxLiQGVdCNTjOSfPJbTDtPZQ=3D=3D?= X-Forefront-PRVS: 03648EFF89 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(6049001)(39410400002)(39400400002)(39840400002)(39850400002)(39450400003)(377454003)(43544003)(24454002)(189998001)(53376002)(6246003)(1720100001)(33646002)(8676002)(230700001)(36756003)(31686004)(42186005)(6116002)(53936002)(5660300001)(3846002)(50986999)(76176999)(54356999)(38730400002)(478600001)(110136004)(966005)(50466002)(81166006)(72206003)(65956001)(23746002)(6306002)(93886004)(83506001)(65806001)(66066001)(6916009)(2906002)(117156002)(47776003)(229853002)(2950100002)(4326008)(25786009)(4001350100001)(42882006)(8656002)(7350300001)(77096006)(6486002)(86152003)(6666003)(90366009)(305945005)(31696002)(7736002)(15583001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3092; H:[192.168.0.103]; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3092; 23:m66urq213YYs60CVAnc8aH+UwmCABltZQJEV5?= =?Windows-1252?Q?LrrxOrszr4MnWEWxfS6LjvCxEw73+713F/1H94KOWkNH0YT9SGNRE60r?= =?Windows-1252?Q?5NW9AKobTkQ3A+l+JHwFZhxZqJHJbcKMF1pgKvq094sDs2X12DYgcMuB?= =?Windows-1252?Q?Zeirj11w6MGpHS+zJ68RYACbZIr0E/CvAQgzGdVIeVzPPlBG+vp6SIWD?= =?Windows-1252?Q?4SU+OWdXnbEL+CnYsFKEXhVGnjciD3c3/Px6wA0mvr8J/9lQATGYHxAe?= =?Windows-1252?Q?wypuboZPZ9/eMKUTjtHvI5L3PlkDZHUb4CPDKMNoXxdLEmoB8/7hOl9K?= =?Windows-1252?Q?451HgfTESN7YB8E0fV3MoaSS2AHEpwt8MVA1AWkzyjzlZ3pzdqbFQTF2?= =?Windows-1252?Q?2ueU9GzPH4KE2jiAbqbtMBbiNp49SnPFoIatV+ov90tpRU1PthWHkv4l?= =?Windows-1252?Q?BgtJOtSlldQkzs2CB7nwEB86eqJF4DR8b///Ulw6addlV0Xqh65Fd/SZ?= =?Windows-1252?Q?c8wGqBM5H+ssLc5vnDhrp+eSKFOABdH4G+QeEuSLFGmknuLyP2IUPldh?= =?Windows-1252?Q?E8GXhD8xvFK7A40k9Bcdxcz+NbClnHx2WGc1H1z49K0D+De3EEbggVkA?= =?Windows-1252?Q?Dpz57GmNNyNSkgo1XK7SX10oB7jAFJLzg6RUWPN3v7QEGe6M3kIRkUEE?= =?Windows-1252?Q?s7p5xz5OkxVninRpHBJcybRHJO1NcyVTcb/Z2V1FCn0DoiqEJgqdiHbf?= =?Windows-1252?Q?DGC5coXtzDtsPtWvMXLAap+a1EXxeOvip0OyXgN16QtDrtYRRpGMAiWY?= =?Windows-1252?Q?jc84zQPI8tl4BpUt2o8eauppBvUsM1ZHm6Go6Cs7adaOCoVMr5fHsyuN?= =?Windows-1252?Q?mZeFvYWOd00cVgp1orCgQlGuJ+gcMpm5eTaV6ejXQIwNzOICCZ8nWWUq?= =?Windows-1252?Q?xVp4CJXqa/y3zHFNKEtNlzwznK0hj0wpJEJKJsjeSQFiTABe6lRa+Yc1?= =?Windows-1252?Q?oGNTOJiJkIo+9aBxMyUiLl72QvW9yFSinnM2q4V/2kZuCVPaHdGhVMgf?= =?Windows-1252?Q?g2r7/6TfMn1TtewOal0lr2R+95MbNLTTJrCOvDfl6VsTczX05dTzjm+H?= =?Windows-1252?Q?i+cP9CmMNL3whhP3moQ1zp9gmQwcibBXrZOCgW20yUkx4J95BbKGcRHB?= =?Windows-1252?Q?JTPMv6LzxHNw8P9RgaKAuaB6hRVa1+AYCfvgVNZu3PbCmKfmhP1mE79o?= =?Windows-1252?Q?TErwLwDs0wZXnNXqJe69hJ0IM+b0uGkd7hmutta2m15toTfp7jc0jgdS?= =?Windows-1252?Q?KY7kpROurvCTWQD6wmnofO7hmDAExfX1TPXYJDI1VV7iZHQC2Z85RYrI?= =?Windows-1252?Q?QiguWrHXOjZNt1s1DpKsiPyWGG7khDSvmsq8tNR3wmrRHA2wFFsbblgG?= =?Windows-1252?Q?siMDDNrUtnrGD5K+53QI5gVxlFqaAG/ltn9kKXlS3dnKXFee3L0DFMrD?= =?Windows-1252?Q?1f5JjVOpCCwizJAk0pIm3X3j3Fg7Qp7QMoEUoY5TGi8jyExMyXfGzq8Q?= =?Windows-1252?Q?qlYAbTcEmDgG8YwhhJe6vAkP6fEkpqhQC/NuyO2J7Zgh5qUHSZZhBTHC?= =?Windows-1252?Q?ycdMMJLgqLRJ1KfOsQo3C48FrpVJN6jSuZBDr9lEu6REurW27XB0aDSg?= =?Windows-1252?Q?DRdokYEEg=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3092; 6:MyFiljsdfkJ3R69TFLRiTEyqZFRPUnyOHIVSjD?= =?Windows-1252?Q?N/HXEHZ1ZTk2v8jcYbkspQ4K6+fMBQLxaHRKDZR4gvN9Xpjfl7aTCCyU?= =?Windows-1252?Q?+4tk+lKBnoLpp4WBjqF7MC0oS1AqTHUCy6lI/7kQU0+PQqE/9/i9ovgL?= =?Windows-1252?Q?WHYIycmkv/eIdgUjEM90COWePbXjIsAjhv0fqWO1GcHVEJBHijkt3TcX?= =?Windows-1252?Q?RIjJgVawHyydjHRuvYHh2yE7f4XIMoixVRM2ikt/0WMx31RNw8R+YIcF?= =?Windows-1252?Q?wnGI7g64h7e58yHGhuhushssJLpyG94IVVXNonRMY0s/aJ6xeuqcxwto?= =?Windows-1252?Q?rbuFGDkL9/diugvcAew1J70rA43Y9Wj4ICaVXJKKcHrfOQqTJrZyPjnt?= =?Windows-1252?Q?pYOj9tWXMieefpP3argXHiUoqO98TUE6PyRZeDrGz6TehYCXTVhCCVpv?= =?Windows-1252?Q?8LTc47+9u7EyEuyyV6tCWXWvmWLWBB76NOnTO0rKKSiC4F1oFmxQQHiM?= =?Windows-1252?Q?3MVLkD+wCdwlZW4MSgeQYFaaj+hWwsqO54nDX7SjfXOHqaQ1JzhYwkkE?= =?Windows-1252?Q?jcMzdFLVG+zUROS8FNylNI1cHF+1LyHxjWsQ2NQblR8ggEqRCHlnH3Pr?= =?Windows-1252?Q?5Y2Qu1rXhyEaRTi+CTJiuTFHEaEBRb8bdqiX77/9PXdfEkexnEBOuXG5?= =?Windows-1252?Q?rMqqCPCeJvobWG/xmBcapazuWcpJdDL0Ge82neNyIC9BXQqK28I3+0uY?= =?Windows-1252?Q?gTLcOFH0XqYYl3fVzTo7riLWHlgtb4Fa9GsVnBt0rV+zS3DH4+MZIXQ/?= =?Windows-1252?Q?3rzgMP4ILLYBrnUCGwetBLcq8XsH42NQBymWnP1JnIyhkZOUOwgKW36j?= =?Windows-1252?Q?NO5KQuhT3nzw6Qu97yaOUgEtZstvAREg9BDubmXUzmJTFkjed/bkh8T+?= =?Windows-1252?Q?PX1nVpT+wJXoSqKEgexJBv//hXf1Vynuc9lAJHnJ/CvKcXcoVlI+jBv5?= =?Windows-1252?Q?fA5fR192Sfiw+oP5L3AdsVvtaOH65Ba8XBqzGorXacxXax8pUYHVBNiv?= =?Windows-1252?Q?KmBu2Mb+54M0Q=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 5:JJSWHVeK2WLVgCdWzVgflvtdvjhroHbotS0bznG/tMbGVfmiAQd+UHoFeZpjvL1mBGaNs6P0a1V4qDBM8pWx+v48Z27Er7d7JZJIlX8gR2lIBTYOMgPNNHO7gOTgFBF/g20FWj2w2qddXMVuxsOsf+jYYPaKvTob9Pzmkf0aIMJCwWKMAR8BIVJ2Mj6AJJrOEm/fio4zxby9xtcBAUanbj9FxNh03QfFRyp5vvGoc8F31TxOS/s3MDHi95Ml0XSGrbQPk+C9nBiWDB5IP1gZA/HYlwA14BAcTgNCznAHB9QYri7GNQMqBkXlz0FRkiAYsmvzEsiYCDtzNyMXxAFNScGx19LExVYdaj6WJWeE7+CzVohOziSQL+WQAlm/Ndngy08G2DQsk3Qh2/yOaenAImimKjy3N4RnIO8qbkSzwCsIVRFXOyO2xQL1h8gyeiYJCwTzKrOY99tSpPQmO3H3v+HCwwiThOITcCmmqDzxoFDA3AwG4v5q+cWpZrqlZeRd; 24:MugFqRriHqMAWCWe3Unc6UE2DppmJwipV9FDRln7R4qYHoOWtZkz/Zna2M8ipGnuGvoUoe02UejH28EqD4FnOxm/EYPKAYuJG9Bx64N5UkY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 7:V/LablRV2s/uPOnxnQPU+SU5ty1mv8rwfDU73CF9/kMTVJuDlbfuLm/8j08ibzwSMnTnTjduwkZAVPM5vRXGHKXGPe+kf7Ymk/H7EU0K1TbcIfTaUNxLkrSiUgrIhBl0n8awcqBBGQfrSMhS7Vq/8kYoJvey58peL5JzDXjM4mTX8K6wsGqWwSDQCXoX1wp34Bb5xrqn7p16Av9h2n+Bd7cwTJ+LiQvOh8OsOl2F7IIOznWtsd4D1mtq32Vlu9/dEugRifg316+qOi6ykP+UqeQQLET5KWizm96dhVmbgRHauYShcfVZ/PpRC1qIkA3jJPsedWQt37r7goz/TwMXE8LBdxQDjiV2FWSQtDbifnIVnYrh0wcPXCK5vDqyDa2CmwxYYrjks1KrH49Mpw2SJk/dDcgeimOZsP9PpUFV+lsNg80XB32FHHOD3scwlRgTD199oiNY83SRpVHzM7fUF04Ls1Y9qWdJTDqYoiSCHyfKngHOnacH04aE34eLUIdseccb8qu053iHgcfezqknq9Y1c26o8z25bGJUOqxmfXlrUoIMaAg9QYSDHOiEgNljDxzccdZJSMyd9xGeHcAG4c1rW639rN7iycso4TZHFOZ1Z3nZMhJbGW2wwqZv8lwM39EMQACUg+kCZ5bIe3NKJ+Jumv0uf1ux4cITW4WU0f2v6fn0xUqgvi4GN4ebuTd55hc3r2tS2WbHZg5GH4EP+4gvGY5YlgYPWxaO0PkNQa9WjSIONGQU2qpK2kIxaxVpzO63UFwZfCJhPE9TohLqRzu/TYIMeD19pwQnozXzSuQ= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2017 16:09:51.9908 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3092 Subject: Re: [dpdk-dev] [PATCH 1/4] mempool: get the external mempool capability 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, 10 Jul 2017 16:09:57 -0000 On Monday 10 July 2017 07:25 PM, Olivier Matz wrote: > On Wed, 5 Jul 2017 12:11:52 +0530, santosh wrote: >> Hi Olivier, >> >> On Monday 03 July 2017 10:07 PM, Olivier Matz wrote: >> >>> Hi Santosh, >>> >>> On Wed, 21 Jun 2017 17:32:45 +0000, Santosh Shukla wrote: >>>> Allow external mempool to advertise its capability. >>>> A handler been introduced called rte_mempool_ops_get_hw_cap. >>>> - Upon ->get_hw_cap call, mempool driver will advertise >>>> capability by returning flag. >>>> - Common layer updates flag value in 'mp->flags'. >>>> >>>> Signed-off-by: Santosh Shukla >>>> Signed-off-by: Jerin Jacob >>> I guess you've already seen the compilation issue when shared libs >>> are enabled: >>> http://dpdk.org/dev/patchwork/patch/25603 >>> >> Yes, Will fix in v2. >> >>> >>>> --- >>>> lib/librte_mempool/rte_mempool.c | 5 +++++ >>>> lib/librte_mempool/rte_mempool.h | 20 ++++++++++++++++++++ >>>> lib/librte_mempool/rte_mempool_ops.c | 14 ++++++++++++++ >>>> lib/librte_mempool/rte_mempool_version.map | 7 +++++++ >>>> 4 files changed, 46 insertions(+) >>>> >>>> diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c >>>> index f65310f60..045baef45 100644 >>>> --- a/lib/librte_mempool/rte_mempool.c >>>> +++ b/lib/librte_mempool/rte_mempool.c >>>> @@ -527,6 +527,11 @@ rte_mempool_populate_default(struct rte_mempool *mp) >>>> if (mp->nb_mem_chunks != 0) >>>> return -EEXIST; >>>> >>>> + /* Get external mempool capability */ >>>> + ret = rte_mempool_ops_get_hw_cap(mp); >>> "hw" can be removed since some handlers are software (the other occurences >>> of hw should be removed too) >>> >>> "capabilities" is clearer than "cap" >>> >>> So I suggest rte_mempool_ops_get_capabilities() instead >>> With this name, the comment above becomes overkill... >> ok. Will take care in v2. >> >>>> + if (ret != -ENOENT) >>> -ENOTSUP looks more appropriate (like in ethdev) >>> >> imo: -ENOENT tell that driver has no new entry for capability flag(mp->flag). >> But no strong opinion for -ENOTSUP. >> >>>> + mp->flags |= ret; >>> I'm wondering if these capability flags should be mixed with >>> other mempool flags. >>> >>> We can maybe remove this code above and directly call >>> rte_mempool_ops_get_capabilities() when we need to get them. >> 0) Treating this capability flag different vs existing RTE_MEMPOLL_F would >> result to adding new flag entry in struct rte_mempool { .drv_flag} for example. >> 1) That new flag entry will break ABI. >> 2) In-fact application can benefit this capability flag by explicitly setting >> in pool create api (e.g: rte_mempool_create_empty (, , , , , _F_POOL_CONGIG | F_BLK_SZ_ALIGNED)). >> >> Those flag use-case not limited till driver scope, application too can benefit. >> >> 3) Also provided that we have space in RTE_MEMPOOL_F_XX area, so adding couple of >> more bit won't impact design or effect pool creation sequence. >> >> 4) By calling _ops_get_capability() at _populate_default() area would address issues pointed by >> you at patch [3/4]. Will explain details on ' how' in respective patch [3/4]. >> >> 5) Above all, Intent is to make sure that common layer managing capability flag >> on behalf of driver or application. > > I don't see any use case where an application could request > a block size alignment. > > The problem of adding flags that are accessible to the user > is the complexity it adds to the API. If every driver comes > with its own flags, I'm affraid the generic code will soon become > unmaintainable. Especially, the dependencies between the flags > will have to be handled somewhere. > > But, ok, let's do it. > > > >>>> + >>>> if (rte_xen_dom0_supported()) { >>>> pg_sz = RTE_PGSIZE_2M; >>>> pg_shift = rte_bsf32(pg_sz); >>>> diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h >>>> index a65f1a79d..c3cdc77e4 100644 >>>> --- a/lib/librte_mempool/rte_mempool.h >>>> +++ b/lib/librte_mempool/rte_mempool.h >>>> @@ -390,6 +390,12 @@ typedef int (*rte_mempool_dequeue_t)(struct rte_mempool *mp, >>>> */ >>>> typedef unsigned (*rte_mempool_get_count)(const struct rte_mempool *mp); >>>> >>>> +/** >>>> + * Get the mempool hw capability. >>>> + */ >>>> +typedef int (*rte_mempool_get_hw_cap_t)(struct rte_mempool *mp); >>>> + >>>> + >>> If possible, use "const struct rte_mempool *mp" >>> >>> Since flags are unsigned, I would also prefer a function returning an >>> int (0 on success, negative on error) and writing to an unsigned pointer >>> provided by the user. >>> >> confused? mp->flag is int not unsigned. and We're returning >> -ENOENT/-ENOTSUP at error and positive value in-case driver supports capability. > Returing an int that is either an error or a flag mask prevents > from using the last flag 0x80000000 because it is also the sign bit. > Ok. Will address in v2. BTW: mp->flag is int and in case of updating a flag to a value like 0x80000000 will be a problem.. so do you want me to change mp->flag data type from int to unsigned int and send out deprecation notice for same?