From patchwork Thu Jul 13 09:32:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 26873 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 F05C156A1; Thu, 13 Jul 2017 11:34:00 +0200 (CEST) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0064.outbound.protection.outlook.com [104.47.42.64]) by dpdk.org (Postfix) with ESMTP id 3805D2E8F for ; Thu, 13 Jul 2017 11:33:59 +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=grgp1Vz241iHugJAKsPbkAWThfXiv5G0jWlNNWI3Vrc=; b=Uya8G6M/2V57cGpVk01asUdmR0OQjI9i9K0bWN/KsDwBlV/qxpuzMwBTVfPye8B9g/wNkA/+xWqhXhVS6iyc0oe8uZaXUK2AuyQjbKwh0JS7c/o7Sd3BCLtQPi/5X2WzmiA/hqFZI3yErvnKEAG0VKNhcbIqLXPyOahDN/+0iyo= 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:33:55 +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:50 +0000 Message-Id: <20170713093255.13986-2-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: 625eb1cd-b076-4a2f-14b5-08d4c9d24931 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:Kl3F6w3dYwRg0VvTcBzo+Cv+W1wUX/OARrdd95c4CdPxxpDlJLP3+3XKQsFS75DpOJZc9kzSKrSz8uLqkgk7qZeY0BeMdCugkEleqqZYlbZPxIS895ZVmm+grHCflsszaoR/8NNBx1Bxv2CJRJZYcLmKqI3+4qoXBNl0Lfn8g4nX7RSIq9WeXqmmI73ysfOTehkVvI58asRrgKjK8+GPXkzYsvjoNYueR6zBG9YmXBSuneDuJSbip8yA+yzzx1k7xAg5wyp2xSYy2u623asJooLAlSLfXF0pazKFjbKB4rYJsqpqOvmv2uNJ2kB4AxThZzUQJaU/sSS8TUP3VBiUv2Kec+bct/s6qIh5OKX8rY3okaYiVy6ZSdUOlcnC0XdmSJklmqGEV5xcDNGqd3Dh3mslH3vBvalPi8e8zJ3m96/HgxECPEqM007R0XkMaWf5JZ0rFy27fOt/U0v4pJZrQ5i5jzYhOQZtaMBfl08k+1MzWodeb/Do4dL450X/ms1on1lZU8TSiqEUsOwgizNQXqugR3bGF/K1ZxjsxY1UwyhorYom8lno6dQJcCHiJtv17mwqzjEO6TV5/VViu0GHm39Edq/pT3N6FnWcd8BcwcPYLwx4mT1GabSW1n4tZGKs9JDRF3YzUJ7DQxgiX3KoaZVWBq6laEwySgQUDnC8+vGVXKezw2o+8o9d4y8VDCrEU9Kz50Il71pMK2S0UytyLhLfILV+tAKeliL2SpRKNlY= X-MS-TrafficTypeDiagnostic: CY4PR07MB3095: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 25:t4wG6EYcWS+odMeHkUBM6hj4li4BWzVq2NUN4F9Lwfy/73QQZYbI+WCZI6o2RNtRiheiBu3YQ9/C4pmOS1GiP0tUK6CxgHSTM41OIvYVmuGg+TLoYTZMf3NDtvMClFnEshLsokVfJgoQe7IHxCGQVSEcNYW5cqSV7orUtI0lWRUgrueU939msDHO5IRxD0LeiuUAeW/nAgUxpQe1V70EoSbEORK/1kLUHOBackMi5uJqX1M636rdvIlHkuW2edZdHqBesMUFgAf2o6pBVOQycr9UcnpIXtyJUEq91Uar4diBOtp7DTuDy1Ws3m2NFij7YKxdG2UcsUQlY8pmzeTKSwl6mr+KV+OtM5KYxKyA6GCqXC8zs5KOjH2Dr4ewPXd3RQfId1v50nhNZr412B3PeE0jhjWFUPQby/igurjTU9kZf9VcuzonYiVX2j21BNUcduA5KMKnCAM01ttIKm3hNTTCw5ugeMQ46jC9/Tig8bL15jS3yPOc76l1o3HGDlZFD4PwaMidIM4MmC3v8PNENhqjndIU7prFMOZPhCoPAlgF7M5zoujgMKxoGBHnRv+CdxMdV2Q4zmBNUGtUXEldLKlRAy7naLAKVYwFt9wj+GdswQGsBGbn5J/WGDTypsrq+mn3cDkaEi7RReSdN3kIct/pIV3oboMUdW6lq12mK3TO739PKuhrGJezgLY7sL6btFt7OwmKzL0cs/WVI2VA9NbktX29xyHmjckbQQ+VKr21RN49+uTGqiBTCiNviY8SHpsTdYjG0kAYObEJNH33LQXcLsGpVY4PAGGYwtB2pKWGYNdU0dDErykTfbnotNvE644pGzAvul9k0ywMvNtAkI5jE/3KVSZtc6/Eu5dSpogbz947+/dNYZM9YPhTndZLWCS5IeaXsxfYDbmFTw4CKXq9U7wO/7FEkvHWwORLjuQ= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 31:ehHDxCdvdaGfGvrRo6ytujEQbSLzvwkwgCI5xtJP4iCO7k+z7j8DXPmM/8cnhcyh3Ph7DfaHqPB6sWG8RyJ2wr3KgqpF0zmCXTNtcJfJZn7cOncip2itCogfgwx/du1ph5N8f+rGX24PtjxX07KEnNu7X1xJjwzfCOKAaQcQ6KQyuVdMAqHOu+ebWWYNobA1RgFnpFiqQoC2vk+XjXM44hz+ZTiQ8W0Uny3sRMiGo1k9ZSKbbAdf2kYxDcqooEfdE9sTK6YVtgNH72q6xZXygz+XFROPh+YS92XeRry/ryNb4/ozZaRa6/kcYGM7XKOp8nfsJTMIXKfsXrbebvogTR2TjeLB0nWCxEAVzIR/1o7i3CicJus2tS6TcJMbFsaBK/fZBG+1GqB8BQjA6074HcwpUZA1vXkImkqhlmQnQ69yMq2MYXhpFiXFgpmyAgae0CJ4hkmIVKscIR7YmIo4JdU931M9kI3wD6AmVhan7dJmb+7JR1ojIfaMiKrE6h5TDhGleDpxbYCWFZKmcRWvmGCHkZ0u9uu/u/LUOTjgxxFeaBumKbSTXj4ZaKhMpu9QG6g8soWSWTBJfg+f9QDr3KxRy9WVK3G7z+E2ggGcsquNWfJq9PIby/R4s+ZlF6Xin9ppPz8tewvRaDr1Dixek61r4WNFtSts9tuD5gBIhdE= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 20:jU82AUBQvnarMPib2g26MHh2Ykp52RIn3V3WddUTXmIUgNtD/J0+U9qJZZlJjYvZe+o74PIB/pdYEYk7E0OwiLRl7ZypxHNRspRHNrVbjK6EGv4tkXpCF1HY4DRaAQCp6S4q33mdO0yI/R59DO8nv+W63Au3evvHTcXtKfnEL3L46cDekByXoXM1kTNhXiDrp7LAqNV6JdIujCbu6qZFblZ07LK5hQv4TOg5y1AN+GJae2rJlN3JRlcvSjPWnVWfEw8M3WgXPrcB2dF+Hjbb1c4zXOcPvADfo1zE7ywndtvJj4damYc1T8mi7KUNo8xo0lz2uAU8TYmDqXPg+hC3bqJXBfA0Y5VPMJUYhEomo1FJvSFeM/7BjM+csmxCUFArMk5t6xAvpgThURzR6oAPPcwg+x9IX++j7kFg8ozeTmJ7DKgcxU1fhz7eq+yi9lY+IM1qRxUVNiS5FqxbunfMiOjwj5XrYou5CDlHsy874mUU2tvCuTzThSakVdf2zVLGB8u1xkBum92cuh/sOpArhwXYYDCNn6QSyUOuQJbm3wL+JckTmismDfgAVvMf/uo/R1JNU3YyQDabrbkImNdY5gsIxISshoj14TGeZxG0KlU= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228); 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:ddjqyKwaZ3PjzG5xf2MAaVpz7LqLfUj/RtDsAQVgdL?= 71XjGsTrA2HXyUxKPfvtGMUihCswW25OYUmAWnv35kJV1FqLCOn4gKksxdhn5rQvJMJrjZiIF7O2b1MYakHG8JVLinyLHLBZppryIRhUMuvA3CLhOiCGFwTM91bIZRfKQOA1er5IYw50PxaX9kIfiBu+lsFXzpE/Q/Xo5mb229tYq6lhiGxYAQpMo0A6qVcR0JeGgrQgq29E38AfkDFhBUi179QGGYXZRvdioxFaPmrpFQg5sA5WTMpTrIyWk8lYN4FvQNyKglQye0WzH5wD4/PfB+OFy8dl21izHucnOEY2E4m9nr/gnHDlfV3TfsIw3XsglX/NXC9V1XMhcEyef+te7Agn1B/a/QKqtr4P2yPHiQTSA67LBQEani5rYNzpgEVU08CXiNCc+dBknYORMOx+ZISYdApLAv8Gub5sz4YS2IhF4JEwhti/Npenx2AaMNhJ28PkJd1uyUab1sTgefVFDCIMDmDZX6Cr+3pIGeUpgYZubEFaNM2jXaEFGV/oYDXwfMTCyXB9k3dsPHR7ZaDxcM3vTXg9xJMjcU67KSVi+xamLeg2vUkYCOICkmQR35VZ+YJnQVDwFwR5pPhicFmFz9zgUjAyaYsOxHlTzJWhdL27MZlH9qODShddfoPxMc0hHQJQ3A0oBye3ZV+yRmpienuVY0EN3Fr7IezvSckhSdRApVGGHWjW9t6ZC6JDv4KVaZd+iheiyXX1FRU/0YELcgLl3VSjyB3Cuys8KOn5+J9gZC3gYOd84xjSmhs6xd+LEFuXH7+cyTa3MnoiruolwJMY+QhhesoAk4GqOFsiVILZ12Dqjnr0RB1n7rfAYxFwv0nCQLx/pkkvQOu6/NOaNgMkUM2mfPnnPI9kRyRPuzYByRjMacZ3Z02FDk6agbAxuQ36aBZS/gy3hJ+n0T+LdBORIuC7NPKxjaEtnYZgag6enNwCD1Hk2OzUc7OJNl9zK0DWllVWPwoca/R7oyCC+uzixx/Kre2HkxzPcRtbDq3ioI85fa0xqaRO2IVtDZTzEuOno6iqYEkIUZDngrKX4v1zl9nspml4I3tJM13UB1ni2sHIGhJQCIA4Oc0jdFTsd08r6SYr+EzIY3ERiejMNmwCVR9L+Nd5EADXMNqq8gSa/RNRw6aWqIuPVbCMlfiOq2jwe03V4+zL9PzHTq 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:1/mtVVDeIENiEkG4TmiDq1Smhi+it+istpB12gci4?= CwJS9sXwFy12+z4br5NDZSjCclA+a3/IDJXDvAlAtGUnH7eEBOXGDJ39d4wx2y+EggTCN/9q7Bx7blB006g/zli1ugZ/7PbS8U0CZ3t8XG01+emZR9VJ1YCHQDEC2DegkV8bNhXlMWdxcrL9xLekShNlD2Ln5DxHTrWWukCwEh0iJcvK+JMLGsqn8X3t5KB0Bt/ZvqUFD7K3xAkY8mO/gPCutcapCYSdKTacktLgmHfs2fgW2IQXgWfnnh/n6EY2gKFO/Ucp9ZOdobqRVxgxVKJens/CpP/k4/WTOE4KKblzNRQ1o/caKAuDcnVbFB7UfdD63OOtNpY5aXgfSDXLTYGBXEOgOmV/DMUHPTHfQtPqAjj822ukI9HnmzDQkC3KdorquJNexfUU44oh1gUBlk67DURX8SEc34KKBOqllrl1t5k9voMh3GUuPQxW86mHfuO1ZK+jh4LaCRobejQW1dSQFN1wW/JAqz1C/+CX1hkZfkXiGKN5+wyQd2bC+FXREM5OHiiZtkzM17VkyDxNn6H2yS1+eRBNnT9csBVG7F6pRWbRylJt4PQOet9hj38dkMGcanvgucHGz+ziUM40jbGAyZhxpfB5Q2QgK9hAt9kAdQ4G1mWQNQ/+C2bgUtOnhayL+ylEx/pIrY3N4Z1NliEV5QETZZqBbmQF3SHcCht2vaILF1OR8TeOcAVX6axHPnTXAyFcSWqQTjeHjqgZiHpJa9pVIULIenIuPMLnuvqfZqyOEP+HlOuR7IeYm+tKEchcB1/gODuVmczqRQwxGlsxgZlWqsua0oAMbgdcoLqMMe605RWHIY0POXjRj9LjLdBBkF9vr3kdyJ2e6DR6c36dOqsnXqeJdOEprkDuJVpv9WmgUytTWi73jYDsm/9maVEV7Zne0ldNsnLGY0cUtNqD1TgsbRITsBeipZamqSRvgGTN/aza/fvNqpSoLKqCthWhdYZYxMU5NxKeMTS0NdS5t+crM4dnSn4qEyE4uQATae8wKsi9F32zxMNEXOXFzvwQkKW9aWTAPEJrajBEefmKUbNUtOcDyyUW+A/mHLsF+/z/aJg9WONTkvCDKS9SNo2FH6W/GW5CxBs0LYmGN43izS3xqZjXYvx/Mu/RqUnar3VMvcgUSW1vtef15tmUH1J8a7wwtDJgMs/aTXnUcgAM+Iej9Fe9qMXdkfNa/C86egcUqIYH3bnUPlDFzoyyXEk6J11R32/nS/T6LxupDOt X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 6:hJrhUoXn2K4r4fkQe9AzLlVkrNA38/nN9y3sjj3CoH?= cNJ/HWMryiPsV+Zz/mrhXvT9yKUes9+IXcy2uGvg/SeoU9YDergJp9e/EeSWyejSCumUUMdUcC9+3is8euPvMe0NUhJfMCLqiC3yrJVl8pzS2ze6wydAZnwRq1C4D0JgnDA2hhxGu5dg+c6omfe97Fcu23O5fwskry1S2gjUgYVGtGgHUbcK6MGhnU+1D08Wask8MfWMmF9xOLlRQEbrPrMklIqYqIkOCJlXh74ltrHU9eOOO9j+98Lj7jEbuP278cnHrph0hqrux7IhMRzcdTxWHDe9SOnC2/nnOSS3SQHaDbvays1pf6XvIMggc8bAeTEGnsk0HY3J0cnZzcuRb0ZvWFHfnWseiJGZEH94yr75G57/MKZoIeBzlge2N/9083Udt+IwnWVU4MPGgOju+DhVJDKNeDKW5GIsDcizygF39Q7vXu2S62vgVI4lOO6j9ly0z+SQzXO0jwC+hrh9e9UHzaeVI0wv5JsrRD0SzVPHnbI05DLFM2yPz5sY5mFHuEcuZmi/rb6hctlZidyxBajEAGJub4EwCmzVtK/2QeUqabCQh8k7a3KmLhFVOzQP1k/tLdITJz02bZZxxZjdDiQSfs0uUlcxfnnk6FsahzNQMjVAtNuklMGYZptEzdSDlJNxyIOOminPutIOECEOP1ljuB+16xN0V3aujQOEH/rsTe/zA+i0Nu0CfSKPCV9k6qHlJHLvRe4LTruOJFHXHfDSw61X2UTCGlUWCA/BSzt+PRDkVb34J5qykHhYT6JvlYGRbWDxA7EZQKMWdfK8Wvbo1gFcGfqmCs4yB2R9HEFjHhuAkVBk/EJiI+yZtsmQjCiDDb3wli7/CxgR1ZXFgtj+LTNu1wRUGnLP1tkVHOJibnOsp0gPjLmLbZL3aqYteQ3XlFmEJfoTZu3XnjVjwqPxGY0n8eCUKp9XPNlwfSnowuCr4tPsagdNsREbNxnfY= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 5:0DXWpUX9wSISQypm9vQGGUiR/bGb/STX4WjMgdm2vB9Z8GJ+feGCjT4AmjZI6VHCRSjmW/FOPNB7ptzsE64mriKZFApDGTzb3gp9Q4NQ+ADyHcwhvpOeGG0GAUXA3Ov50iFHgJKbJbM3duX2OV2dJt+lAofRbp+WRnX07anQ4Wyc2UCPuHvKrZNf3VCwb+5MZwrzfY1srgqPddlniYr8zjDXzM491nyPiSRflczGgRH8NKdaHfZ29wVDyuqTuXIsgQ85LuixOdNxe4e1X7hjwcq2hYsrWf8X5q73b6/1qxADVQpVqQgpw991uNAE5tTltuconbNsEAe6KpYFuMbQHz8POMjlxxjrY1gOr6vA5dJ+YhtlvlbUMBVwyE/PLJsoY8nEf62qBltyA/F0DhHgDstd/E3UcHCJZC0XVK9q93DOw+MWggmfbjWpdHv23nyf3aLaDyjAOEnABwef45L8Pkkn9xsmZpdC4uiDtBkI2oOhdPcHfmqxScScB6quNsH5; 24:b1ZT3fI2QweoNWfMwcoV6cwZZCdn/40D7C68FVYQznUihZ1poI+33SrzgIhCkC9/FWGfBncL4+lQc1vWFyiDYz3jUsUpOkboCLyy/LLyFMU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 7:97pwGMnXDqB214JWu+G++8K5nYiTUlSydRuWiK9VoHMSAy4QfaQfcyTuz4mrC1/HMYt2JCyT0wgSksDzqSe5iLWeUIp57YbvtDTbwMHh9dbNHKlpReUfijKmURl5NLXivH0l1WmOKKAnlRDxKFz4D2aAMf/u94D+st6GVOwBl0DUpdXrCwh/QPHIPKp6efxzgPoyeswx8I6uLDkdlqp8xqRpexpHdtdfxxYY6c68rADDSI+IsxvCgV6l/QX84xYtRGmX69FeKxXPhZtqVrdeiBcQ5qto22DOisM326E/l4N53c5kwVbeZoAgW8dkBm3iGWO6xXazbW979qsIfNceNC++++OmSmn6esNp10UNV4vxKcQEyFJ/jp57VVJFbu/7gfESWSRkH+4RqoLV0FlSmGLn5+BcdwnAYtarjeTHV6saOXJieIvmakMVzixtO/acu8c9wV1TODrd+XN7ecrHTKBFAS0B8WxiA++o118+FaaBaixlEdbZoDOiJ7eiajJ+rxoN4BeaxHItgNm7Z7CuvAoh9n+9hWdTtFy0+0mN2gxyl1ucv113AYTLMQDj5B6MTJNngAH29NNrHle9uu3ww8OxZRcE19PObmjlcbkawkJO30wLcl64tMQTSKCTnsR2eUZaYbigekUCe3Qax2a5osCyrTrFZMNpqsER3OIquZNzdpWCbcFTgcddfCr4z9fCUJ5WmoHlJ9Kf2snaIVxeEdDDxr6xqUuP+5Y+TcqGZp1NvOws4j8G6OpjNK5786F5cJTa40UgP31BnosjlcqDjQKtktrafhtunkC86sCVV30= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2017 09:33:55.3100 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3095 Subject: [dpdk-dev] [PATCH v2 1/6] mempool: fix flags data type 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" mp->flags is int and mempool API updates unsigned int value in 'flags', so fix the 'flags' data type. Patch also does mp->flags cleanup like: * Remove redundant 'flags' API description from - __rte_mempool_generic_put - __rte_mempool_generic_get * Remove unused 'flags' param from - rte_mempool_generic_put - rte_mempool_generic_get * Fix mempool var data types int mempool.c - mz_flags is int, Change it to unsigned int. Fixes: af75078fec ("first public release") Fixes: 454a0a7009 ("mempool: use cache in single producer or consumer mode") Fixes: d6f78df6fe ("mempool: use bit flags for multi consumers and producers") Fixes: d1d914ebbc ("mempool: allocate in several memory chunks by default") Signed-off-by: Santosh Shukla --- - Changes are based on per deprecation notice [1] [1] http://dpdk.org/dev/patchwork/patch/26872/ lib/librte_mempool/rte_mempool.c | 4 ++-- lib/librte_mempool/rte_mempool.h | 23 +++++------------------ test/test/test_mempool.c | 18 +++++++++--------- test/test/test_mempool_perf.c | 4 ++-- 4 files changed, 18 insertions(+), 31 deletions(-) diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index 6fc3c9c7c..237665c65 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -515,7 +515,7 @@ rte_mempool_populate_virt(struct rte_mempool *mp, char *addr, int rte_mempool_populate_default(struct rte_mempool *mp) { - int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY; + unsigned int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY; char mz_name[RTE_MEMZONE_NAMESIZE]; const struct rte_memzone *mz; size_t size, total_elt_sz, align, pg_sz, pg_shift; @@ -742,7 +742,7 @@ rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size, struct rte_tailq_entry *te = NULL; const struct rte_memzone *mz = NULL; size_t mempool_size; - int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY; + unsigned int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY; struct rte_mempool_objsz objsz; unsigned lcore_id; int ret; diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index 76b5b3b15..bd7be2319 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -226,7 +226,7 @@ struct rte_mempool { }; void *pool_config; /**< optional args for ops alloc. */ const struct rte_memzone *mz; /**< Memzone where pool is alloc'd. */ - int flags; /**< Flags of the mempool. */ + unsigned int flags; /**< Flags of the mempool. */ int socket_id; /**< Socket id passed at create. */ uint32_t size; /**< Max size of the mempool. */ uint32_t cache_size; @@ -1034,9 +1034,6 @@ rte_mempool_default_cache(struct rte_mempool *mp, unsigned lcore_id) * positive. * @param cache * A pointer to a mempool cache structure. May be NULL if not needed. - * @param flags - * The flags used for the mempool creation. - * Single-producer (MEMPOOL_F_SP_PUT flag) or multi-producers. */ static __rte_always_inline void __mempool_generic_put(struct rte_mempool *mp, void * const *obj_table, @@ -1096,14 +1093,10 @@ __mempool_generic_put(struct rte_mempool *mp, void * const *obj_table, * The number of objects to add in the mempool from the obj_table. * @param cache * A pointer to a mempool cache structure. May be NULL if not needed. - * @param flags - * The flags used for the mempool creation. - * Single-producer (MEMPOOL_F_SP_PUT flag) or multi-producers. */ static __rte_always_inline void rte_mempool_generic_put(struct rte_mempool *mp, void * const *obj_table, - unsigned n, struct rte_mempool_cache *cache, - __rte_unused int flags) + unsigned n, struct rte_mempool_cache *cache) { __mempool_check_cookies(mp, obj_table, n, 0); __mempool_generic_put(mp, obj_table, n, cache); @@ -1129,7 +1122,7 @@ rte_mempool_put_bulk(struct rte_mempool *mp, void * const *obj_table, { struct rte_mempool_cache *cache; cache = rte_mempool_default_cache(mp, rte_lcore_id()); - rte_mempool_generic_put(mp, obj_table, n, cache, mp->flags); + rte_mempool_generic_put(mp, obj_table, n, cache); } /** @@ -1160,9 +1153,6 @@ rte_mempool_put(struct rte_mempool *mp, void *obj) * The number of objects to get, must be strictly positive. * @param cache * A pointer to a mempool cache structure. May be NULL if not needed. - * @param flags - * The flags used for the mempool creation. - * Single-consumer (MEMPOOL_F_SC_GET flag) or multi-consumers. * @return * - >=0: Success; number of objects supplied. * - <0: Error; code of ring dequeue function. @@ -1241,16 +1231,13 @@ __mempool_generic_get(struct rte_mempool *mp, void **obj_table, * The number of objects to get from mempool to obj_table. * @param cache * A pointer to a mempool cache structure. May be NULL if not needed. - * @param flags - * The flags used for the mempool creation. - * Single-consumer (MEMPOOL_F_SC_GET flag) or multi-consumers. * @return * - 0: Success; objects taken. * - -ENOENT: Not enough entries in the mempool; no object is retrieved. */ static __rte_always_inline int rte_mempool_generic_get(struct rte_mempool *mp, void **obj_table, unsigned n, - struct rte_mempool_cache *cache, __rte_unused int flags) + struct rte_mempool_cache *cache) { int ret; ret = __mempool_generic_get(mp, obj_table, n, cache); @@ -1286,7 +1273,7 @@ rte_mempool_get_bulk(struct rte_mempool *mp, void **obj_table, unsigned n) { struct rte_mempool_cache *cache; cache = rte_mempool_default_cache(mp, rte_lcore_id()); - return rte_mempool_generic_get(mp, obj_table, n, cache, mp->flags); + return rte_mempool_generic_get(mp, obj_table, n, cache); } /** diff --git a/test/test/test_mempool.c b/test/test/test_mempool.c index 0a4423954..47dc3ac5f 100644 --- a/test/test/test_mempool.c +++ b/test/test/test_mempool.c @@ -129,7 +129,7 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache) rte_mempool_dump(stdout, mp); printf("get an object\n"); - if (rte_mempool_generic_get(mp, &obj, 1, cache, 0) < 0) + if (rte_mempool_generic_get(mp, &obj, 1, cache) < 0) GOTO_ERR(ret, out); rte_mempool_dump(stdout, mp); @@ -152,21 +152,21 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache) #endif printf("put the object back\n"); - rte_mempool_generic_put(mp, &obj, 1, cache, 0); + rte_mempool_generic_put(mp, &obj, 1, cache); rte_mempool_dump(stdout, mp); printf("get 2 objects\n"); - if (rte_mempool_generic_get(mp, &obj, 1, cache, 0) < 0) + if (rte_mempool_generic_get(mp, &obj, 1, cache) < 0) GOTO_ERR(ret, out); - if (rte_mempool_generic_get(mp, &obj2, 1, cache, 0) < 0) { - rte_mempool_generic_put(mp, &obj, 1, cache, 0); + if (rte_mempool_generic_get(mp, &obj2, 1, cache) < 0) { + rte_mempool_generic_put(mp, &obj, 1, cache); GOTO_ERR(ret, out); } rte_mempool_dump(stdout, mp); printf("put the objects back\n"); - rte_mempool_generic_put(mp, &obj, 1, cache, 0); - rte_mempool_generic_put(mp, &obj2, 1, cache, 0); + rte_mempool_generic_put(mp, &obj, 1, cache); + rte_mempool_generic_put(mp, &obj2, 1, cache); rte_mempool_dump(stdout, mp); /* @@ -178,7 +178,7 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache) GOTO_ERR(ret, out); for (i = 0; i < MEMPOOL_SIZE; i++) { - if (rte_mempool_generic_get(mp, &objtable[i], 1, cache, 0) < 0) + if (rte_mempool_generic_get(mp, &objtable[i], 1, cache) < 0) break; } @@ -200,7 +200,7 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache) ret = -1; } - rte_mempool_generic_put(mp, &objtable[i], 1, cache, 0); + rte_mempool_generic_put(mp, &objtable[i], 1, cache); } free(objtable); diff --git a/test/test/test_mempool_perf.c b/test/test/test_mempool_perf.c index 07b28c066..3b8f7de7c 100644 --- a/test/test/test_mempool_perf.c +++ b/test/test/test_mempool_perf.c @@ -186,7 +186,7 @@ per_lcore_mempool_test(void *arg) ret = rte_mempool_generic_get(mp, &obj_table[idx], n_get_bulk, - cache, 0); + cache); if (unlikely(ret < 0)) { rte_mempool_dump(stdout, mp); /* in this case, objects are lost... */ @@ -200,7 +200,7 @@ per_lcore_mempool_test(void *arg) while (idx < n_keep) { rte_mempool_generic_put(mp, &obj_table[idx], n_put_bulk, - cache, 0); + cache); idx += n_put_bulk; } }