From patchwork Thu Jul 13 09:32:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 26876 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id D39C37CB1; Thu, 13 Jul 2017 11:34:11 +0200 (CEST) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0075.outbound.protection.outlook.com [104.47.32.75]) by dpdk.org (Postfix) with ESMTP id 3C3C65A98 for ; Thu, 13 Jul 2017 11:34:07 +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=8FXfhpscwTFO4RPZ/BnRdqB7FB3f2IBSdFD7giCuzHg=; b=GNQVlKdNsdxT+VZ857RB6oiStPqL8ogIrERbKyx0Cs4yPjC3FhK7n1LTEqEgOoum1tGQaCWWcfReekbK+2XgYxnwcO8V0AoJ7E+QSJfjZxYgDhmjaEhy2YWiejFZlL8D9y8trb58i5w+upehr9ce5JPTJDOMnJo1E3rnLhlIIrk= Authentication-Results: monjalon.net; dkim=none (message not signed) header.d=none;monjalon.net; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost.localdomain (111.93.218.67) by CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Thu, 13 Jul 2017 09:34:03 +0000 From: Santosh Shukla To: thomas@monjalon.net, dev@dpdk.org, olivier.matz@6wind.com Cc: jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, Santosh Shukla Date: Thu, 13 Jul 2017 09:32:53 +0000 Message-Id: <20170713093255.13986-5-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170713093255.13986-1-santosh.shukla@caviumnetworks.com> References: <20170621173248.1313-1-santosh.shukla@caviumnetworks.com> <20170713093255.13986-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BMXPR01CA0016.INDPRD01.PROD.OUTLOOK.COM (10.174.214.154) To CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9fc74088-eb65-4ecb-f091-08d4c9d24dfc 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:CY4PR07MB3095; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 3:Wazr4fhAtwmUW1Rog2Ditgtove5liy6F6P7gHjjuZ24LxlqOHywJ66s5HNMzG1jZ5TPmcrZSkOLWPTRQbRGJNm4paev+v9xDnP1iMTi6DD6f74dfD5qjiLKC/PHb8Y5JK6/3HckVe+2mUvy521gSY+WW86V3XMNs1s1dPMfpFa85pv2VftytDXWHlgCj/IBZEHT/0O6CRTDOsZnmVgiJyUFKMNScJgroGyKDjoXxZPCBytRn2zsAjx4962qm0Jt375AxmMgbIvr/el9Aer7KoBhRCo0/L/58fInsDJlTZMnKwbz3r98wuI/ty9b+LacRs8PJrcZWO+KuprLVAtv1ZL+TtVLeCoYe8KWTKSXaOAjXsDi9UY1bvtfs/Xd/CbQlPUd4mP0/P2XjLUU52FrsfNn8eNDe51I9dXmdFl63zTkqUSzpG2+r9wuw3gwKZgF5ZPXheLLedpg5oGEF4try8V9/BiBzvn62FvWBHpzOW86bv1eaG45dmhrNSlJtu7LfrML3yI99dyT2JUlFCvMzFSpClD9syctvOQtsDYfHnXktf2RfLTqpnD8UgsG+LoUlBz/w9a90OLG7yof4As3rJ2J8fMnX/Pp+PfxdQknHgv9HH+dcbJjfdYcZDPmCRRxEvPQCk/5eCAh9lL25qE9IdllIE9y+CHeyxxQbPG71Rz3DGYhBpNSHPnKVBuNqGPYjCisM6G4f9vPAsN7Mpe0FTLVz87cDWEHstnTSLHDpXnM= X-MS-TrafficTypeDiagnostic: CY4PR07MB3095: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 25:h2b0h1GuVtq7EaZd8lqBs8byDBp6K9sN1UUCCVCv7HrQcL6gt56LjJkwWvH93fw/Q11Fzhr7FWKw7QTftJnRSvlZk4jZ3zQPmRw1RS48JKHqxcXVJFu8jZH6XUdSV0ZHb62hULD4C1M9fWYorg3vAmdMeGeAQZqX5FwfBjvNt/c7hLOO580RoN7fg09bf8cG0midYJTfCXVlraFL3eGqFMf7F/ldVyTuaTV4U8JN+9cIvtQXxIDWICBEOuBthu9v0NUT1ciUQXjMw1AnEKSOEMaormMgPCcH1Gxf9IoSSwAKdFKEsFh2odo4W4mGzhNoJalUtehD3J+uG/WeiwcSgUd4DM0jaotaTGfwgAK7XQSMPR+nfziBxMNsrNnUdendle10jvOhThsXy1kaH5FIYsqJz+pF6h1cVSwm2b2Oi0sIKVh8DKsFfihcF2RG0hGq5xq7V8YMJRn7ArTP2O/6ZfBLSihbFNkKrud1YtK51S6YWs26GTCAA66UKdhc3db6qp6WmeWfE2iDE3hZCYQdRTYZ2t4MtOMy3q6iaVkpKTxD74Kk3Cftp+7QpdDRxG0IZT6BK1zAjqI4Tq3hUexfOglBkhH+/aBM0tmgE+NFfItwkinoBPzgsi7BsgjIpU8qgNkORBz8hheDnPN/RN9jWJlzUx/ok8+3T292XM+TAWtlzplaIKRRnlEYKP0ZCX7JNo0Cr2SWJUKJej+L66LQ5j5LEGrBxqQe+sN76+vCI3EV4HMtyQb4Pvy0LCDgFZwHvwe8MobGBHssNsNUjYbDIi6FUVWbu/WMdu6s7VM37GAoV3xQlBr3ifXQZ2YSmFYB/RHpo8qQ1bEJ4nv0BhhyhRB7It9NZlWbW9KK6wgKK0yBt9dvTy0vAXUgbzyUKKWmb8e0+vczgzDmsIcEYCscdFP/ljgwlvOAW1q6tj3V8Ls= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 31:ZOirm8X32ufKAwwkDujRpiHVf/iq+gyfFsLtQZ56+N4IVUDA2vfSitxoENwvbousvLG6xxa5mCAnFot5Y4mm2sTWjnlNwrK/c2PvQOsNzl0mlfCOGyBcFX1/kG3UIGPjUo+eCk+UFEEn4Zuk0X6UOjANYHtsxaGV/4/MYHW4pQDrFFtMp4CTBf/uKYmxPpqKgprVBEx+z4rMdXdZ+WPRLHkxKjYl8wTkpathC5MGZbuL0CoGHqWUIRykLgRq4zx8I18Dg+/bIhtWZWRhzShTYSmzrjFgJ05r0aOl4/VJ6HYXCb7IVAbyqHr1ORgyTPGo979iSbOA0ChDr5KG2WR3utFIfc6x9+a7u9fNnJCjt0afkrvyr3kjKIXLaPOPe7KGBUVtJjGXEOze/6wdfG/0KhlnAmPv5ARSOqcHoQB+juUHbDFeolTR4NDoxo8CmjQ8EOC4TPhKFLlKJVJeyo37oBt2LRL1qrKVLuxoaKTA+vwXreR6zZPYnaC/1SKh9LzeJvv47mPsssRAkLy8tlloXMuAgjB2mz8u7Vm8/KoZW+DddragmHs4kHLyO3zcVfq9A0xudmd6sV81KqdSEHnNBfqekJRa5vFGaeQ8X96DKUnMX4A4V3Z67AqM5IX8Hz6kyxiZlt2WJ7FnZlmRvZ4ro+ahzS6Gkz+HbmHwid5uJjw= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 20:k+E2A+DPL3FD95xLUJPBXT/KKXEteuqFi2+M3a4K1/hSCqcRAj5/S44RSssdwshZ9SIRzxJ6JZMH+cNqYKxNL3mPqDo0dJQlkhlU90NM+pvQfERWH7qtLcP4dcbM59z5P2Sw9/ShiWVhf5mwKJTBRls/yLj8jZr/+qfn+uCYBDRaABCymWXi3j5WiRIwDYdwUAfIGR3BkGJ3bFRelxX5OMu9UBgZygdsTEzs6W2SZBZLCwPL+mpVvCniTp/puZmRDG1j0ZbJzya3OBH2XiwxwAcLujq3ylweLmU1UIw3ZleguPADp7nDYRgYVFZp6LwRNsvFKPe944Lo1g0ecdGAKqIPH6xjvA4cBzwGsyLEN7HAS8NJeHJf6Rt/nlKe4yI8yjsuRaiUjjzeYSRrWP9w/OUaT739LoVJZtcbr/OFoaOeNSnJNn6cpuQQJxR4mBEZIZnoI8EN8phz52YO+LKCRoFfCJd6nyWiHy/bgiMgMhZqqNrNfDNy1Q0sdFT234QdSvRxbWeuaOPIEOCzPDzoLRV9y/nvMK5IiGy/w3SLp/mLCQCEwsyB5fmM+oP6gSQA56qBqQtRp/KSdV87U76Niuyso23LQqeCeYH6Jc+4uco= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(131327999870524)(148574349560750); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(2017060910075)(100000703101)(100105400095)(93006095)(10201501046)(3002001)(6041248)(20161123558100)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR07MB3095; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR07MB3095; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 4:rmdVWvhvUndlThSHu3h19BB1PK33elSsyg3wE2mr5m?= 9uKj2ByWpzxPonR5m9tQUfK8cVEYxuT/yQ2lGeBmA4RYzzGXrDUbtYI9XfskCvU+CRpxoavn0KnH1ogUSOk3Q0eDIxz91g/e0Kjd6E130NMeMEdJcY21pHbey1MRFlKBtgxQm1ySG6v0oK0K65BR5+4MP73TELHQC7Tw0ZR5MX0xTKil8RxhjSENcA29Jk3Lz4BXN9mOugfbO3xGao6fmtW+hgO0mplsT4KKON41CD1UtZhw0p6yfq/bSQtNoKHe9h76WJ/Hh72ujZKVZNTLn9VQI1pbk/nUtQpiZV50Fjn+fCuEhf/CeCONG02O5KTxl+plnL64cNtS3UbeYd0p1QHOfjFKHvziEj8jKv8nenk4wmkimw7sfn0ZfQS7js6TJmebCHclFjfzwt178fATy22kr5x6nChNvnocge6s5/OHOupfdDk4wggVbr61T599qB9o1SigULl22J6Njj+VVWT13zJAlQfoSABH3cUZ096eN9QWRwnK3ozSJmNrjd3vaw5XatamdgQalyd2OK66/WZKMrdtHdXJMpOzhnn9QlE0P3YjiUcxF9Q4uRCnSfXhRkBNQW4hjTxKU0SnI2pCEE4ylKvmpxGQpFgDCRCOkUr6NruT8t7NiTr49W/nwQ9ltUFogbmFSawcC0YFEo5qduJGugyWqiHxFLdTF7bphxzr2j9POOJU4SMuN5V5E4A8fFPXYYGYBpApHvMZMnjIE2iQFJQoqAg2zrVwXJZ1YFWkC5o5h9lr2r5LoMANFgtxciDbscS+gD/6FLbo2lzXC4f0XkTtfqI9yg8+L7uMM3NzvdwTnEQFAFQdaB3st5LWZ/W2OyYX7HrPvCYlboTEm4Hr7i1Nw+1YptlpeaeZGXxoAUelRuj8VDxLRpMgFKTq9vzt1bIk0FwIx5KHuwuza4kDEw5MnSdfBimXhHKikbOO3SUFeiv9HryfDqG9KtljW/V5fuZdm5kdOnfFEJ1RR8du1QgZPWy38oK0IO86mOsGwwPvcxQvUkVOpLGDwdwn2DqxQXzbC5p0Oqw2Hnp2QvxQOXJc9spXuXjfY9cCdKz+Pf/3ZdjUgfGcKfABYuSXZY6QjMAG5BWOznj169Hw9yh6fPG4WmTGIMxeMzImADD0NrsceuleMd1q/FAwSDGBgQr0LzhxIFm+8S/Lpjy5jP7TfMHv43IuZXpMbYtgfxPCCpJijaHf9TSfYYzQXPViO7ZD0xiowmNBMWmgjJvMiA X-Forefront-PRVS: 0367A50BB1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6069001)(6009001)(39840400002)(39400400002)(39410400002)(39450400003)(39850400002)(33646002)(305945005)(8656002)(47776003)(25786009)(4326008)(50466002)(8676002)(7350300001)(575784001)(48376002)(5009440100003)(50226002)(81166006)(110136004)(72206003)(5003940100001)(53936002)(76176999)(107886003)(7736002)(1076002)(6306002)(42186005)(6486002)(66066001)(6116002)(2906002)(36756003)(5660300001)(38730400002)(189998001)(42882006)(53376002)(6666003)(50986999)(478600001)(966005)(6506006)(6512007)(2950100002)(3846002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3095; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 23:Cq+SqVaK6oXPbz0AEDEvOwowIv0/wKHaE2ZQ03TVi?= Q3/NgRmK0jhpCv4TGfZfK5ZCGk5NveKg+L8amyUbuPbRO54k8QmZYaHadTHGl0nqN2XXgSH201cpj+mALLt5NphhNVikWu74UfxSsOyPpA+83Zi6DSxC3bWuNPEgdRAfjg+1UgCQHJx6DE/TnNjthZbSnPXBo0GJ1BlYN91dLa2HPF/rlGf/giZ9SmrtUU4HIhGzJpHw+TQN8aCHGbLCZ44n+NVa5xr1G0PpvMYeRPpLI6rHKEdHJFHTTvkmO4drQckxA0XQAiw7wKs06tV5658d5SenF6+cYb/SVucj0eee78Ge3Lz4wO/nsx3ZIXegab2Z3rSaDn8l69WGxakTcoRbsWxAhctKyfJXFVXiDUe2lG+GLVaOpmFY+h/5iLXBLWsmswKqigYjrSIQo5QtFuLrAxjw5UWwsMXagzZKMM4MXXHxRhImLQqBMOJu4F2LuWfI/aqEKYmv3AFTwH0uLi2fDJmm9XaMKweh/bWkqowtt2mRdCKU6oldcfl77/mkKDuvc7pJZy5sxoKJnZaWM2cUMiXJAjCkMmMCrkzJ2hEu5CH7Nru5pdAbiDf3P+L6J1OswIrxTdLsykGuLfqPphCKFSS8XjDCyzvP56+fb74WyC9DSzrIS92+xIv+ASQz3dYoy0E+vSawVI51AiwHoKkN5Jov8Yv6PsD7/wJK5cH5cR/ULaw1AN1axFs/WhQ4PWVrqnQ3Z4KhG43AWtAfHFhnwmf6Vip+SgI6CISMbmlpA9e2lRHpbtzHLjSODzIKSDGHkYP33GEcQeYH1O4f92fKOgUk0btEuPEnksxLsQCuOAqwLxgdZGd8NcRAxwXInhwKtDMnhJ9LXiK8KoeCh7etLOJNVdx9G3kh+iiAJnhmqDRLqCitVHnfxbX+RPI2yrBynWudIhZp3udDUph80V3EqvxLPYrSMFNh4JCGqkQNQM+cJxrN+neC+aGRkxHlIXqwqsEvcfS29In8cEi3igqQYqJZt8xNWqsiioXNQRAjxt4EkKJMKTP37F5t/5p9P6YOdCMfCpiqPSsT1GcgmPQamknqmAbxJ+VC4kLvzedJmYdI28TQnsN2PJhGBno+sxtw2oFeGbDilrf13kkVsBwyOXCORBn0Qkl40t4KmzmqK/B+XrYuTV6bGm1ZHVfmxnFI8O+ODLvd/htylni5UsMHcMM4yfvcXwZ7A94mSuN1Tj69xSUyUc1cIHHLPJz9oFyq6g8Mr8iwQuvqBKQ9ECR X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 6:l26OuaylfSA3fpDEBHI7DACT1QEUOsX5G3E6kEKJlq?= jz6or/Mih8gqmpxRAVKYgkCvW0oKdFW8BfJEDZrMMjQan81fDHUAO6KX3hYFdglRCogJUN8VVae/8JrESzNmn8ZBmAh7ayBoyc0gf5XOtq+QaBCTCY9NSKCv7hZFgvf9XvDJLGKtVvKRewGkpiPjybwib7DNWlhUhidIjnosBhH+I43ioEIgpnW5zh7lmNlJusP4pJ5rLvSaxVLbD8OJVbjKCi+ADyY0jPaDIrLtcECZRz6rI3cnUnmHsUeKisH7sKRyf7nARe0s1feYlnSahKlVfoh8f47h9Z5GkiuIa+tSUK/PGE/c7t4w/z6ygZRAWH4n6Uq4qTcCpx7AvqtTFVplb5kD+Z4FcgvJtl442IVEkg3JpbsIT2O8RqVpV4ptxKMpbR1XB5W0Pn6dOYvBBXViehLHd0IXLwlelYOIlI4DpTj2xHoqykR4uROPGaGPtdqppT2TXB7Vp6x8NUyTI9yaawK6oDBwRlfh3SuSmFMxi62DGKqxk4vGMMy9VdoHMeSk48U180SHM9zQketJTPHa4DBVGJOvUvoIbW848SYmQFtt1TDkSKmde7hYdg3Nh4xWitxFbhwRCWUExafCrYL9vtXy1cD5OPGhKpdv0LXFLL1MTWkMc8asgR1lOhJhOpIDlKGcZ58aer/xot4hX68iHogP69QFesbX/1c1gdYhvSkpkHmDviHNHBRAcoECu5h0/ulffx6An4HHNp8ku7FRrobvj2h/eD43jf5JdGHuM1oce0995V2E494c+qEXunSQGaXDXnGwdJfZ0keASM/cwu+NW4xeoW38EJeMZ9mWQ74kLoOrPsP0nEQFoYNJ0m7Bp+fOcs+tX1O+5o/8eoXliO3XERFlCg8yq+yuwJbAk1Ss2L//9hbUIDud7uaOeBvvZXA/ucbVbulLgp/DHuxG+YYoj4FW+dcyyfgzcdpdPmcjWYY0Ga7ZGDbzBMgTs= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 5:07bi4QNxD5Qq6WtUjqAGQjldwtxllhvrkVMyIpzTJV1lYJLYFPVqUQqs9nNPKPerx7gdlssZ1Erjtr5YV8yXtw5pfqG0NoJnO11UXrvXET5eS4klbchkpkl7Q+ZxVDUEiIGcejz7yw8xB1wGnVQzin/Ug5hEKK9exDcM635weVtVwKny7PT3nnz1xzOIJ7eklLmxFZDPK8ARx4LrfdclhJTiFz5eUa47EGLo1JVdfH+ElvqbjvLCVNO3RDWrOoKnD7gta0/jHidq22gDJRhTYh4QQ6Snd7lNij1P+XebKhKPZPhpyZ3h5nRVl5I1DZRkDoBpmghzovTypAAhKK16KKFzhzPCurZ8FLrn8rjDUKyZ04PrFC4XGRsC/tI7NAMaFer5/6qMtcHgCgtOOx4BxKRGjEseM51v1VhkMfkPijBXKtVdhmDNNQ81CRDV6HobyQYVF5ife8lqT2gn+q4MZjOkLxrqFyjjiHJmjUi13lXccr7iPXq88gT05qOlLf0O; 24:V/m3N0bfGf/FFn4vWWBdIQxdwIiSAzTbN1qumhCfPGqCgdMOIg+F/I8NCas9af6gssHpKKrQ7CV3EfRer0zBR+OlLcq9rNcqAtF1Rt/HcC8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 7:XVezREYKgfja75A0kFEgAl51V3tPndzoUDcWS/rOQ+X1E6Xp28z68pk76emJpBn1fgSBCQYvaHwZg95ijDAwr3Ru69FpiazlIHkiwWd5vrwHF0luXOxR31M3OgHizJill/GbEFYbBrKgaVkMLDPOpusKqevPGLp7GRtH0w5Rb4ay4fVPlXci1DfAkYdf5obxMj/mc4vYi+zo1UMm9LNqDFJYX7AVv7BVzODjRXDNKuAXqk6Ng8G+zOZGCOA0YvpQKGcPsSubwDqfS7VvY+hE28lEUHDfd0cGmH0fhduwe3itXyhVeHZkbT8FRyeAMnKsLfDEWjqFTvaE1g/ol3ZeBrjk0DxE4LLJTViHncwxwlLdZttOmepmEK+njRABo6jcRNkMYIJD5HjJpIKXRtl1EnT8kX9Dbo6ee6HhwEHID19nOmgYTEnfRSTp7iS8O8UWwKqQhzlsIn4JhMz9Q7D9cL0W3yEGmrXchKMCWJE0rE7CEZ29OgGgKCKPf6ykE5/GQS/naPB1trlUTpyOi8ZOAnhEDWggCFRDi6k/hpo7lNPgoA7y2mtPPYK9uOjd4EXlGmwnwHf8KDmq1DaD5Ba7thtMg+734iKBACaDFmKPUTSzc9VffldWUZuJXUynr/6rP0MIj4rJZW4LrXOA93QowRmW/7Joyfw/ZkJh1iW2ltzTjJff9/kWHkk+zeYyGPMzEWUPDbn+ZBN5Br/LNEmZ4DpwzDAXrrH+NJtuxkURGgQb7P39qaSYnIlMyFcqIwV1WYkZ5RIQa29EmBLkEYPEWIHCEJDKWZTmFZL8n2FHaFQ= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2017 09:34:03.3101 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3095 Subject: [dpdk-dev] [PATCH v2 4/6] mempool: add mempool arg in xmem size and usage 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" xmem_size and xmem_usage need to know the status of mp->flag. Following patch will make use of that. Signed-off-by: Santosh Shukla --- v1 -- v2: - added new mempool param in xmem_size/usage, Per deprecation notice [1] and discussion based on thread [2] [1] http://dpdk.org/dev/patchwork/patch/26872/ [2] http://dpdk.org/dev/patchwork/patch/25605/ drivers/net/xenvirt/rte_mempool_gntalloc.c | 5 +++-- lib/librte_mempool/rte_mempool.c | 10 ++++++---- lib/librte_mempool/rte_mempool.h | 8 ++++++-- test/test/test_mempool.c | 4 ++-- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/drivers/net/xenvirt/rte_mempool_gntalloc.c b/drivers/net/xenvirt/rte_mempool_gntalloc.c index 73e82f808..ee0bda459 100644 --- a/drivers/net/xenvirt/rte_mempool_gntalloc.c +++ b/drivers/net/xenvirt/rte_mempool_gntalloc.c @@ -114,7 +114,7 @@ _create_mempool(const char *name, unsigned elt_num, unsigned elt_size, pg_shift = rte_bsf32(pg_sz); rte_mempool_calc_obj_size(elt_size, flags, &objsz); - sz = rte_mempool_xmem_size(elt_num, objsz.total_size, pg_shift); + sz = rte_mempool_xmem_size(elt_num, objsz.total_size, pg_shift, NULL); pg_num = sz >> pg_shift; pa_arr = calloc(pg_num, sizeof(pa_arr[0])); @@ -162,7 +162,8 @@ _create_mempool(const char *name, unsigned elt_num, unsigned elt_size, * Check that allocated size is big enough to hold elt_num * objects and a calcualte how many bytes are actually required. */ - usz = rte_mempool_xmem_usage(va, elt_num, objsz.total_size, pa_arr, pg_num, pg_shift); + usz = rte_mempool_xmem_usage(va, elt_num, objsz.total_size, pa_arr, + pg_num, pg_shift, NULL); if (usz < 0) { mp = NULL; i = pg_num; diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index 65a98c046..a6975aeda 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -238,7 +238,8 @@ rte_mempool_calc_obj_size(uint32_t elt_size, uint32_t flags, * Calculate maximum amount of memory required to store given number of objects. */ size_t -rte_mempool_xmem_size(uint32_t elt_num, size_t total_elt_sz, uint32_t pg_shift) +rte_mempool_xmem_size(uint32_t elt_num, size_t total_elt_sz, uint32_t pg_shift, + __rte_unused const struct rte_mempool *mp) { size_t obj_per_page, pg_num, pg_sz; @@ -264,13 +265,14 @@ rte_mempool_xmem_size(uint32_t elt_num, size_t total_elt_sz, uint32_t pg_shift) ssize_t rte_mempool_xmem_usage(__rte_unused void *vaddr, uint32_t elt_num, size_t total_elt_sz, const phys_addr_t paddr[], uint32_t pg_num, - uint32_t pg_shift) + uint32_t pg_shift, __rte_unused const struct rte_mempool *mp) { uint32_t elt_cnt = 0; phys_addr_t start, end; uint32_t paddr_idx; size_t pg_sz = (size_t)1 << pg_shift; + /* if paddr is NULL, assume contiguous memory */ if (paddr == NULL) { start = 0; @@ -556,7 +558,7 @@ rte_mempool_populate_default(struct rte_mempool *mp) total_elt_sz = mp->header_size + mp->elt_size + mp->trailer_size; for (mz_id = 0, n = mp->size; n > 0; mz_id++, n -= ret) { - size = rte_mempool_xmem_size(n, total_elt_sz, pg_shift); + size = rte_mempool_xmem_size(n, total_elt_sz, pg_shift, mp); ret = snprintf(mz_name, sizeof(mz_name), RTE_MEMPOOL_MZ_FORMAT "_%d", mp->name, mz_id); @@ -613,7 +615,7 @@ get_anon_size(const struct rte_mempool *mp) pg_sz = getpagesize(); pg_shift = rte_bsf32(pg_sz); total_elt_sz = mp->header_size + mp->elt_size + mp->trailer_size; - size = rte_mempool_xmem_size(mp->size, total_elt_sz, pg_shift); + size = rte_mempool_xmem_size(mp->size, total_elt_sz, pg_shift, mp); return size; } diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index ca5634eaf..a4bfdb56e 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -1497,11 +1497,13 @@ uint32_t rte_mempool_calc_obj_size(uint32_t elt_size, uint32_t flags, * by rte_mempool_calc_obj_size(). * @param pg_shift * LOG2 of the physical pages size. If set to 0, ignore page boundaries. + * @param mp + * A pointer to the mempool structure. * @return * Required memory size aligned at page boundary. */ size_t rte_mempool_xmem_size(uint32_t elt_num, size_t total_elt_sz, - uint32_t pg_shift); + uint32_t pg_shift, const struct rte_mempool *mp); /** * Get the size of memory required to store mempool elements. @@ -1524,6 +1526,8 @@ size_t rte_mempool_xmem_size(uint32_t elt_num, size_t total_elt_sz, * Number of elements in the paddr array. * @param pg_shift * LOG2 of the physical pages size. + * @param mp + * A pointer to the mempool structure. * @return * On success, the number of bytes needed to store given number of * objects, aligned to the given page size. If the provided memory @@ -1532,7 +1536,7 @@ size_t rte_mempool_xmem_size(uint32_t elt_num, size_t total_elt_sz, */ ssize_t rte_mempool_xmem_usage(void *vaddr, uint32_t elt_num, size_t total_elt_sz, const phys_addr_t paddr[], uint32_t pg_num, - uint32_t pg_shift); + uint32_t pg_shift, const struct rte_mempool *mp); /** * Walk list of all memory pools diff --git a/test/test/test_mempool.c b/test/test/test_mempool.c index 47dc3ac5f..1eb81081c 100644 --- a/test/test/test_mempool.c +++ b/test/test/test_mempool.c @@ -485,10 +485,10 @@ test_mempool_xmem_misc(void) elt_num = MAX_KEEP; total_size = rte_mempool_calc_obj_size(MEMPOOL_ELT_SIZE, 0, NULL); - sz = rte_mempool_xmem_size(elt_num, total_size, MEMPOOL_PG_SHIFT_MAX); + sz = rte_mempool_xmem_size(elt_num, total_size, MEMPOOL_PG_SHIFT_MAX, NULL); usz = rte_mempool_xmem_usage(NULL, elt_num, total_size, 0, 1, - MEMPOOL_PG_SHIFT_MAX); + MEMPOOL_PG_SHIFT_MAX, NULL); if (sz != (size_t)usz) { printf("failure @ %s: rte_mempool_xmem_usage(%u, %u) "