From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0083.outbound.protection.outlook.com [104.47.40.83]) by dpdk.org (Postfix) with ESMTP id E0E247CBC for ; Wed, 21 Jun 2017 19:33:50 +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=fPqF5OnaqN+i0o3rXBBY9sr9c4YyDTC/Tu4SZIIbO+U=; b=Gj3hVzMVkbhzIuOKTcOfp9LioTmk8x3ETRYyNdnfvNJpVjmgbpcEhqynFDtSZ4Ezr9oF3S2uMcVb9Qz8zj6GX8HF0Ms6Bc+jicbQK46x3utPt2TE2jYVpfwZpN/E7azRblrG4f97tAdnYNMuuUr89A9Ozy1o8ykbxOxZjxHR6is= Authentication-Results: 6wind.com; dkim=none (message not signed) header.d=none;6wind.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost.localdomain (111.93.218.67) 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.1178.14; Wed, 21 Jun 2017 17:33:46 +0000 From: Santosh Shukla To: olivier.matz@6wind.com, dev@dpdk.org Cc: thomas@monjalon.net, hemant.agrawal@nxp.com, jerin.jacob@caviumnetworks.com, bruce.richardson@intel.com, Santosh Shukla Date: Wed, 21 Jun 2017 17:32:47 +0000 Message-Id: <20170621173248.1313-4-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170621173248.1313-1-santosh.shukla@caviumnetworks.com> References: <20170621173248.1313-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BMXPR01CA0048.INDPRD01.PROD.OUTLOOK.COM (10.174.214.34) To BN6PR07MB3092.namprd07.prod.outlook.com (10.172.105.10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4558f342-3e83-423f-2950-08d4b8cbad17 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500055)(300135000095)(300000501055)(300135300095)(22001)(300000502055)(300135100095)(300000503055)(300135400095)(201703131423075)(201703031133081)(300000504055)(300135200095)(300000505055)(300135600095); SRVR:BN6PR07MB3092; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 3:eVzIsnDvbzz+tzoRDOsBP8ynhdEJPFzhB6eF06az++fT6tlPv8Hi9rJ1TUR0I/VKW0H0ResW536IvYGXalcwKYofyBgTDd1Ood26rLM/SEs1WAj64F+WtJD4C8jeq3FLnXISJh9LUFKqV0vzZoF/n3A4J4hjLUnu5D9cPCZP+Yh/6MLOWohONuqmIeYE7bepy6nXbeYkA2ctL8VIMuCTDfH8PVa4k+tftzSr6TNBVQOcp/FjyKeyIuinjYjiOPQ1oOvHaGfR1ByKC5LWzi5UDv1g/AFvlu8Xu9nG6Fz/yC5nsHKawrwwFzYvTkJUdrwW5WYuecQJ5BkMH/5waC5hpxhmu5KdMR4tHG45Mkzi+VmoYZGb2AVvx6wu9PqQFqLI2C5TJLhCPKt5w81XGwDkzM5wr3O/OgEnNr7HGmT24lbUy3oz2Rqehn7d2jts2NrMwDUYKtUq1usiqst8f+WEyHdxcSgGPqDfQoQEC6F3in/63aM1Zrp2ocYHjryLVt6aIQ9mjWRs0QPukoZOAQigq4AOf6AQDlHPwft1cxASeY9liW8G5FAcEbGFh+aifOLxo1wQoslzF4fVZBztHUM+MQ0Bbl5j+sB46Fw3TYzyTDMt0YRRW2pnrpNvXY26S1j/hT4Uwk5B7ecwPi3TuG8Xasb5Df8tyWw5R1OwoQtuk9ANxgSns+j+grGUcahJ0a6t X-MS-TrafficTypeDiagnostic: BN6PR07MB3092: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 25:pNXiw2NimVIUEaz6kbC4ADy9ArMXvPc0q57C/ErOoSPmN3G8Kua93+ilE8u1wPwKG2EefIvn+gJKWkfreibRkwmmnmSn2eZgtAi4+6wk0rEZtNy4DjmPQ/0FYg8ISO8copUWyLhsqv+7TRpytszM6mioB3GsdQ0g6FToscowhiSTJK2+eRcE6BOyasFS8PM+TIKw+l4tltPVsCdyl7Lzb6K/1pG8fRuT/A47nX02G5/VYMnYi7S7c6tnL4TtzarVX3xm8ZPKeRdR5Orjdhmstg34iC7V6Tpn57LKeDSTLIlCsxq+DOwgHhvc9hGxedTTqW1gu35v4YSkdRovKr5B1aXcjUEWrPOOCCtCiHFxxKfxNe3RFzq2kKCGVYACxUJu3Tk+NJf+Fkkg0+Ytu+V2OliHcleqJc+lwGc6Z+yXmTW0e4pt6b2UtlNmZIes/BpXR8fqeaS6EsoTPdOPAytRaN+Xz0RJCwrSgJvPILu8mTN5iuL4kGIdN+Rmun9ZhYIg7aqcmKGLEVMfQ76Ahf4IFA3xVHrk+IhmodOJmKk8pkk1AIRaIcH5NIClZ5BV1SKX6+Qu7WeHE8QE3REWnLs15WNrrhgw6pNyDJr8ZOHtYNNDSKOePYAEMaJYA9zo1vgCzt8jD0spq9M4ziUyGAxwjlvk2TCMeP726430Qawr0md3cI86tQ5Iq2bfwFYRvrkI3yuk4ESwaH35qYyrM1pLaBk2sC/lS7zfrw+3IMriN7PnHeThugUL4E20vv5z6aqFOfzCz2mljancmMAI4y5f4sMyWeWXjmBiWD3U0GQm4yhaV8S6vIWchE3wvyTDmakAcKqjpKZyfXnsTeYA51VCsHjHUQCP91FCB6ll5YZsP+VhEU/WwMFI/KuoTBH7hcGBFzSw+1ThnH58k7hIJKe4i4AFcRkds73X4hSwusAR/jY= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 31:H74dc83DDE34OR4Ie0qfChwrD0XjeyYt+pqgR9cRrt3sLoG7FzwTQDfZONLAKF2s/oMHIvPKO75SNfkX9y3ncrYUH2OO+P37MskKeyBtUNEl7NkSeufwBFyPDEnSnBPGFq84j3ApGwQQ9YhBzuvC7wiv8rvSCcpD6wTpsnOv+aIXwzcEaKb63IBpZo8eWimPuophKtBKpQzjDN//UrlZmmb0Q1I5Qz5VBLg/hmFmYk3S5/uQfRxaUVsssb0B8SYmOnZ0MlOCGrd+1+NFJ4dJ9zvOF7O8cB7n98Yt2yhs9eyIvqj+On3OkYGZ0bLq0y9K6RzCNmLY7ug/unEx7vZ6Zx81svX9dBKeAv6Zld28Jyr4GNP26aGZKcxkPHKuaRe3CnQl6OWahALH4eNUkMoArvoEej2VQKKG0L+ivNdIxXv7y1NY/T9aPZ4vMrDdPO9ZZYGwpZWjHEWQpNH2OIUUjyGT4zPXq0qTJ9mSBrIrrul+Jv3kQCUDV17FnRjmM7UY+qmUdvys27F/zbnM/OBw4puE+sFpqs6v3hOj2QO2DC7JE+RYsovEti0hBiAgAI6dColVcfg8mv5wGV9da92q8556VKDqNGyJyQJGwcJgSMqm83/LD3NZSemTfVUjbWW6OB5IQGFutZCG6cynqWsj7wK3CAxsSJGdd1+6305GE+U= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 20:3C2JZp3s08DUDwFWod4A+3ny/wsDXlDfQyd5hxOtbIq0b5P7G2aPUccg42bDXqFSb4otxBbj9j+KPsBgGA4iMYgdwWQgak2eL8o8ARB97mbYRuKtiFUB5NHFsMMPHsLJOyD4Jze5lFSmDrcTldCZwYZmq9LN/l0ZvSx2n1JRQoZiD87an7kdt27D3FV9+Eg1oYUkJ+/gF7IhixjGZ4Ml/uRuNCy/JxJViiea1dOXwI2opU3cuYsy+RBAbiWxSzOtWzLIxP+KZ9K7Sy+zypsL4omM2I/c7pW2yyY3TnKvQMgrPozYKVasnptB63z8H7tmtLg0828sQWEYS6VCCdhg9ikzrWa6j8o8uOflIOgGMqYLkq6FWBDP8KIZdRnIDtdjARxVdQOtgFEa4CxqINir/M1B4D4Lp003fIuKUK54N7x8UJK+3sXzkxVOov4Gisg/HT45SmoHwO/uGldapbwp3VBzLGAzIfRklbIxjFW6Ag5SvLyqau8ABp1LqXt/6cqMoy80dMgzoxwzRqSWEnvrarcc4EAUToIgyEJ9BKaFmglbSukfKQ+Pp47LOTvVrwOVgQxi/EqiC9RiN9Tdi5qNnLan197q2XX6vVm8917zFcg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(100000703101)(100105400095)(10201501046)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(20161123558100)(20161123564025)(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: =?us-ascii?Q?1; BN6PR07MB3092; 4:oLOjwNYXestADVHM/ScxwUNbJU/IEf7aOL2JxpDcG3?= =?us-ascii?Q?guxehbFxDkC5rQLZG6pWy8KWWLnF8LE4ktYB4BldO1BlqeB9BUyYliY6dhYq?= =?us-ascii?Q?oXYBVz+vzvKpznMd+AD6PKKTicBc+jUzUOGSbxzQLxauVI4PdVR9Z3lCCMSO?= =?us-ascii?Q?5e5a8HqbasmH6tfTe6y8SESHOJHFKTXLWKCjg5Qo1H6EmU4AUdh8FIgT6HOA?= =?us-ascii?Q?uAXjFktIK2s84N5sJh4bxPB5KPJ05P1eub7N+GbLmkwtEEYnbpm3AbA6M9kB?= =?us-ascii?Q?D7nCB15stH2vgreju3CE72Ta0aV4B9F8aoX+zXS6lww5z1He7Mf0YGYlH7k3?= =?us-ascii?Q?BEtHb66XoqiWxM6tr7vVV1/QOuldnZwqNwncd5NJiQnbpKdvkgTxYI6jeF8R?= =?us-ascii?Q?emxVTT6+fkkloIEg6VNhXwk8xBF67gIRUKpKfnuWXWPFSqSKWN+1WSGypahx?= =?us-ascii?Q?z7FfVYTVxAGa0w9YOUD1sahkAGCmFu5iNVXupr+GV6SmAgbQa2nwS24BUDKU?= =?us-ascii?Q?mnN4tHbk5nnad9k/92Qm6G6sZ41kr8AZQOUpaGXWDrDcuJI2YiKvD795XAmy?= =?us-ascii?Q?sFOdLeag4gHMlUrrwsjvHIKjuwvBzEMwn+eFJnARytWH8MNZV05WC2KTQPYC?= =?us-ascii?Q?jkYhiX/+vwiLi6IgdRmTSLPMOIdkMBqFopl1z/BAzzdlWKQk7lAo4O3xezuw?= =?us-ascii?Q?QLTYzo6x1eNrxCSO121Celkm2lFY/at6aNW+UmHSlcfp01EA3B0KaTiGcRs8?= =?us-ascii?Q?ZIanze/tf07Vel8GLufyu1LCGXdUr8cpT7OIlvHhjg/2DR9fwvSfV2JNuFmZ?= =?us-ascii?Q?UdXmjf450LOGz1xBOuQxJkpN1R2f5Zi1/TfLP6rB/t8Mmn0fOq/Tg1feU8De?= =?us-ascii?Q?4r9TXxnH+qXwkqZPYFlS+wbLmiSliJn7auJrmiyQFZoZt41p7BYdBL7nCuq3?= =?us-ascii?Q?za3nhQfxZlLuROXvdSo0nBj3dcwCwlUHmNuKI8obqZYjs5ud5nQmb+w/XOuO?= =?us-ascii?Q?VHF7GTzn4BjDcTiKejzcAFzx9nGln0cP1wWgDKmeF5WAQUPSPOdfHDXr0wmW?= =?us-ascii?Q?AqGSz2V4xL4RGkPN3relI2vMCSCJFLB35jQWj6tfze6BdgxGUhCYzQRsPW2h?= =?us-ascii?Q?YvB2PdOA8=3D?= X-Forefront-PRVS: 0345CFD558 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(39400400002)(39410400002)(39850400002)(39450400003)(39840400002)(107886003)(110136004)(38730400002)(50466002)(5660300001)(25786009)(42882006)(2950100002)(4326008)(478600001)(72206003)(5003940100001)(50986999)(76176999)(42186005)(305945005)(189998001)(33646002)(8676002)(6512007)(81166006)(6506006)(50226002)(8656002)(7736002)(66066001)(47776003)(2906002)(6486002)(36756003)(1076002)(6116002)(53936002)(3846002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3092; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3092; 23:Z4ZfbdAKpU3dlJZ7CAOFmOSomnGVlBNczRnc52Q2Z?= =?us-ascii?Q?Q9YZVnpBkv35l/h7bP89Xq119JNYdHUWNoff5E2MsADXICvXCbCCbnLI4M+F?= =?us-ascii?Q?fxoPkD9qjp7TcT/YXD7h0XvimoQ/D+if27OAcQZ96YBRt9avZge0gx/7tS0m?= =?us-ascii?Q?zTOLyEdlcNGuHXDCEaCoaBw+PTCdHmwhCis0H6Xc4oL0llfk4qESZMYLj/vU?= =?us-ascii?Q?UlVZLVAoFwaSD4LuYyxlgzR1Mx8Hd+e8owae2y0u6wcYAwHMKHzTS4N3lhgN?= =?us-ascii?Q?CABInkZdvCHcYHKq8b5QYYCgTJqJW97gZZXUsC0aF5OGqlPt2+ghgHZr2vR8?= =?us-ascii?Q?axwxVXsqKfEgigtnU9szeMGrmnLChskT4jF9NCnzHDAjW1mpam9Q8bd5FuXw?= =?us-ascii?Q?3MusnfL2J1sELQZW8xo0hXDsb907cHN+xUqqAGuYDqcceupVhrC5nJX62JQj?= =?us-ascii?Q?qVuFZFDvGS2a/u4nBjZo2VVokQNqO2tB0tN8Bd7FaPPXwhCnLVB3ZJNqiwzr?= =?us-ascii?Q?HxInAMgfYy22ZEQr4CNNGsfrI7s1eACqW4eoMQs5ht125Ay0Jxvu/Tl9nARA?= =?us-ascii?Q?iiz68Vl+0celYWQGTkC9MLpHq9q22fFLL232vMgVFuDCnJKwIVXVlfwJBl/W?= =?us-ascii?Q?LL1qHqaYXkPh+nMYsUVOCzwLlLIyW65ItUETWdB5pjJVr1Vn64YqlLM3mT2a?= =?us-ascii?Q?cpKSIchZ98FXee0CBylxRotvBgqcbt8HNmAXsuXJkyMnhCfscKBhKke7TTBm?= =?us-ascii?Q?2sAD4JQyODmq2G3h2kdtgYjsdDp1tT8w53Rxo5ecQ15Ot1fq8jgWbHWFKZql?= =?us-ascii?Q?BBUcAD9eK30zVEDHX8N8P+xBHALOdSb2PXe6e2W/FbfrN7oEeergOG5jB84c?= =?us-ascii?Q?DyCXm96hSCFzsEW+pmS7xcv5C0HezjI44XmnFJ/G2dwhd4qHKkxabQrK2zTx?= =?us-ascii?Q?oJg/2vN+GksTw7DplzFRs0a3ZqpP3AS+RaBBoKrxR+TlKkgjN+FBQe3gSXUS?= =?us-ascii?Q?5jJ2JIHypeP5vab/asJHQqVvknG6ahAW2PnI2z9JXjN/07ePQs9lUbA/nrB4?= =?us-ascii?Q?ijdU4BEBU5cZfgDW7GP6dJxIlZj?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3092; 6:i6gRdIkxSyAQG0x+4H286fOshsNitYgbdinhFds3lU?= =?us-ascii?Q?PItRGSLiwyDsLqK9dkFF0Uyjm7SVyqBg7MVgFwwqcxIAfJm1HijdP8SMsHNc?= =?us-ascii?Q?Z3P434aAUzPWDlLs/7zH1yempG280e0qfYHP7m4e+Z78u1xfSNPUdbDIba5V?= =?us-ascii?Q?kE2Rt5qH40ct/60MMTbi1hj5N94QZvTFZdZpw4qMN2D19pAKd0TJGj6NSiZF?= =?us-ascii?Q?bUnUdrKIqQv8m0qeSbAkU/5tJfGqn/LQIawgVqnHy43Uyka7pxpcZrAbtLN/?= =?us-ascii?Q?m+vAdWeaWoSIlGgh0yN6SncfE24KlG8NGhvOyUOscz+p3jYpUlp4daEVXg4S?= =?us-ascii?Q?H9KWkKXi3i/W69KxMsnMSSy2lW1GFrElTz4zlO+sXc2Npl+c95yBB+LYpPNt?= =?us-ascii?Q?waewUmiDa0x68d1cJ0ahVXgFWY/Ok4yihrQFlMHziAMC2M/3FtZcNdquMcD+?= =?us-ascii?Q?0u6ByTfP+4fJXJHrMau0iWdIeIwbFMom62BFTrR36yVt6f+ttbg3/CN8MAKh?= =?us-ascii?Q?EINku01h1bzIDtJcvBGICQrgkHUybfU4ql0PEq9syT3xCkPzBzHk5KirNDlI?= =?us-ascii?Q?wBndvbw4uNc6K9x42qkMGfnHQyrZlCB+PT4DSL/pdGIQWRThY8xlzAOuKlTi?= =?us-ascii?Q?B2U6uNh9JBn+O7bLLHAwENk94IDuyLYBbuwHX8ZbXYgmA/OEEo8m5j/w0jrO?= =?us-ascii?Q?dMZu3g8SZqVM2cSDPFZdRcEsOq+/H1FSD8aJ+270XRnC2tVkdedq0CpDBx7K?= =?us-ascii?Q?xQkIwT0ApiS4adTEmy+VGr6yPVrxYoe3It9CwvaENLwMEceegZ6qPXbGdkfH?= =?us-ascii?Q?Un/kxst3/B6AuAkvYkl4l/+a4DmZ3JnA2pQgHVcCNLdggOEROAwxMjUth7c0?= =?us-ascii?Q?vTc9+00P59ZOdrmj6VbiI7dylf9Ahe2L2j+OHQHnmvn5/FM02HaH7PLVGUc0?= =?us-ascii?Q?hEIkWeJNYjPvsHgtXUJquVtVKgFzAxKSVPmF7KKkzQrJL3i7cVg0nqK1rzsj?= =?us-ascii?Q?E=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 5:9SbI/Se6h0I/UbqFN3M7K9S9Pyb/kgLPStXxutapaXm0EJycL9H2d6o101KyMWBKgWjovcsOZMCNA1vHupK6CM6Xe2fY5/c1UB0MrIXLhHHjBkTVGjfDlRPmoYtHO78buYcqB6PiRlmJdppfgFpwLG9eSXqtYXP7yrb/teeZcl5fXWcu0rztV0SO42lxXOic9PT53O9mPEfGxsp2P4LZvCkxbStCQuY8vq5pouRE+h+bjbiZ0rZidDSH0GK+IP+nOD1GTZ+R4+Vvf0uM7H+JsMuHoBpkXSQGTj+OVDyzqwMBs4rIPudVkvgqOznMFPqkWGoAvZkb71pmkK2hREWbB2T6BfNsOhZu+VFHfp7VdW5gBIhLNZvCRSTU+bvynAngj2eHINVdW78+rIEiK0BWEbiEsaVPtLGYzm7Oc2IfCHV8Vj0h8viRgkKqZGICn7dPFKzexk1qekDe0paEN3vPWVP3pqKqEcjjolpPzrwEfl5Uxfn7InlI38mT47zVNckj; 24:hR6WBEwn41YL6PAkNzOhAzPL2vtLwE9QiUunB14pvLhEww8myAcT3pje9RQfnzXHCZBw0Zx7qpsDg3fQZ5ajXxQmqdYZ40QXe8VbA5cCGXo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 7:bQ8hDbYtDo80cKecVBsafHp8qjI0MWELINaCFA/8MhlRxavfaW0e1tAP4cEjHgAb1HnCMqNvO8JCi4C8X0eIeC838xT+6aoBR5wxy3nJ7+hY8WDbxau9x8tQr3MHxV4f79PoGBoDIVn3Uzc1i+1/xIwNlnaH2MBAx5/dg6VXla+pmVhrBxIEeOxtwx/YH4nVtvBgV6uf8Vn2x8wlnk8j29KxExwUajvVjaHVJ6iml8N91po1ckgN0slAFbnOseBFxNdqnLo3Tu5JgVon6vz2UBDB0WdqWpd97FJxj27BnINoGN00ZkZqzzCgE2xASEqiCqrPpXMi8+iyonXtzVzOCb/D90ceN75H6b+4acKP+EhQD+vSYYSWw2efzN3vHAadL4y3UsZJN1Ynzhb6nudJrQtersYX7ehU2u+3ql5NoKPFImw8e66UOU+AYG8NKhFFv9tOEGoOpzbVDWk4EvFZ/UF/2j4c/hWhZngWG7zpdkDab48D+8KMK4BV4fEqBprDefyGTYAD2mYM9XO/o7icMl+rpIbN5ADFndWohhHffQ0q8pzTGOdRel/TZD0fLYkWxwMHXuooZhPSnTCWktN2HjYhG4puAn3M/B61h+xksgG4H7xXdIXdg0JShT7TjHH2PYUhfgJ1+eaPB9cRmJ5sh6xXH7xXEnMQr3mgp8+Xh/i2tVm1gtFIxbL+Sp0p63mybuupw//XhOYf4LfYCbgSx/RIw9xbb62Kay0+2rnCYYWWqI44e7sk/qw0DRF2kH1d/Oo5fRg+FW0tyBU2hYewstLaMaVFXRqgC4mN16QO21o= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2017 17:33:46.7113 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3092 Subject: [dpdk-dev] [PATCH 3/4] mempool: introduce block size align flag 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: Wed, 21 Jun 2017 17:33:51 -0000 Some mempool hw like octeontx/fpa block, demands block size aligned buffer address. Introducing an MEMPOOL_F_POOL_BLK_SZ_ALIGNED flag. If this flag is set: 1) adjust 'off' value to block size aligned value. 2) Allocate one additional buffer. This buffer is used to make sure that requested 'n' buffers get correctly populated to mempool. Example: elem_sz = 2432 // total element size. n = 2111 // requested number of buffer. off = 2304 // new buf_offset value after step 1) vaddr = 0x0 // actual start address of pool pool_len = 5133952 // total pool length i.e.. (elem_sz * n) Since 'off' is a non-zero value so below condition would fail for the block size align case. (((vaddr + off) + (elem_sz * n)) <= (vaddr + pool_len)) Which is incorrect behavior. Additional buffer will solve this problem and correctly populate 'n' buffer to mempool for the aligned mode. Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob --- lib/librte_mempool/rte_mempool.c | 19 ++++++++++++++++--- lib/librte_mempool/rte_mempool.h | 1 + 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index 7dec2f51d..2010857f0 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -350,7 +350,7 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char *vaddr, { unsigned total_elt_sz; unsigned i = 0; - size_t off; + size_t off, delta; struct rte_mempool_memhdr *memhdr; int ret; @@ -387,7 +387,15 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char *vaddr, memhdr->free_cb = free_cb; memhdr->opaque = opaque; - if (mp->flags & MEMPOOL_F_NO_CACHE_ALIGN) + if (mp->flags & MEMPOOL_F_POOL_BLK_SZ_ALIGNED) { + delta = (uintptr_t)vaddr % total_elt_sz; + off = total_elt_sz - delta; + /* Validate alignment */ + if (((uintptr_t)vaddr + off) % total_elt_sz) { + RTE_LOG(ERR, MEMPOOL, "vaddr(%p) not aligned to total_elt_sz(%u)\n", (vaddr + off), total_elt_sz); + return -EINVAL; + } + } else if (mp->flags & MEMPOOL_F_NO_CACHE_ALIGN) off = RTE_PTR_ALIGN_CEIL(vaddr, 8) - vaddr; else off = RTE_PTR_ALIGN_CEIL(vaddr, RTE_CACHE_LINE_SIZE) - vaddr; @@ -555,8 +563,13 @@ 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); + if (mp->flags & MEMPOOL_F_POOL_BLK_SZ_ALIGNED) + size = rte_mempool_xmem_size(n + 1, total_elt_sz, + pg_shift); + else + size = rte_mempool_xmem_size(n, total_elt_sz, pg_shift); ret = snprintf(mz_name, sizeof(mz_name), RTE_MEMPOOL_MZ_FORMAT "_%d", mp->name, mz_id); diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index fd8722e69..99a20263d 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -267,6 +267,7 @@ struct rte_mempool { #define MEMPOOL_F_POOL_CREATED 0x0010 /**< Internal: pool is created. */ #define MEMPOOL_F_NO_PHYS_CONTIG 0x0020 /**< Don't need physically contiguous objs. */ #define MEMPOOL_F_POOL_CONTIG 0x0040 /**< Detect physcially contiguous objs */ +#define MEMPOOL_F_POOL_BLK_SZ_ALIGNED 0x0080 /**< Align buffer address to block size*/ /** * @internal When debug is enabled, store some statistics. -- 2.13.0