Message ID | 20170621173248.1313-3-santosh.shukla@caviumnetworks.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Delegated to: | Thomas Monjalon |
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 967E97CDA; Wed, 21 Jun 2017 19:33:52 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0069.outbound.protection.outlook.com [104.47.36.69]) by dpdk.org (Postfix) with ESMTP id F02567CB1 for <dev@dpdk.org>; Wed, 21 Jun 2017 19:33:47 +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=QiT4jkF9pRdmS3ZVMvhL1fu0BGAhaxJjiabwjs5OalQ=; b=cbTouTnTGhYSHe+sgA0MdrEHpXDDKQMwAZMYETutbJASG86/lDvs6m9vnqawel4OFN0VT16eOmy7K/KOnawSfJMjy5ST4q9LfVzmFRYWSgPuOrxRQgI8NiaZ+Ryfr5XtnQNx+i9G15odJ+X7Faz61d3Pq3Y5mpSdGD9vzwH2fck= 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:44 +0000 From: Santosh Shukla <santosh.shukla@caviumnetworks.com> 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 <santosh.shukla@caviumnetworks.com> Date: Wed, 21 Jun 2017 17:32:46 +0000 Message-Id: <20170621173248.1313-3-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: 45841a66-c429-460f-5768-08d4b8cbab7e 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:4S/QURFGFovGxv4h9cQzn0pWQRGxuOtxHnKXSwigfNTwBG7o1RsrkkuSr1J+rpU2aebbLTLzFBrlGgaXTzPZAtwmhTqUJqquIckjXKmA3wYI6ecvIFhrgyThTqJOcFetPT61BssJgTv4oZnY1/qv2HTkq+evVi8jY5bMzIv//TZ4b7hWzZ4xGvLO374PYu0oWmwbw7UNHL2y2bhs8RXk1Fy5EP/B+bRzOShbcGPRAIcEoYU1oNL2fWntkhj3Vo0u6M7BAqlcg7534eN0so+yXZD9oRSsmfHyu7ajBmXerEuBf72joEzHwrLexYhZ1JYSgiWVdCcc/nFufPKUKHF1gDLVTeDt2mNapyhkXkHcEyOqlSpg3OS21LtfkENqOfA1ghv9sWm8Va0a96z5tjTrWDnio4AqND+495asIgSGFPp/aNkPKDpc44DUyjRC7yrdthKpGjn8JGV24yitRQHjQ3uEDC9ahIWBQIftIhWabDcH1EkzCd53zSiv1fJBvZp7+g+jzofDBkeXLJVoAneCblQLz4q2N+CvfNRBPg3aeJ6neuF1RtFR4XfgJPIfeHOk5FuWrDIdHIhfbvHMGEYOYuxoSBfPLD0cF1L1H7+Uvaw0Nxk170GwJgi1w9HU6WH5TUcPHlhe4DsFeYu5ySr2lt8cTsZEKEkiEB8WHVwcal9l0WNaCd4TKUpN8ZxzJq8r X-MS-TrafficTypeDiagnostic: BN6PR07MB3092: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 25:qEzMY/WfRM9Pr74XCKysxtanZMh/+1m5+dPm1ypTMMaDNuAjzvOtzoscsfxJeFiYa836psmYGvTKgHfAUCATb1KSdHr215FkVGiHL+vE+YSVAKW9w0CZg/zqhBvmOIhCOfRhmBRmOLpazm4rCXr3U/0rrYw+0o0wIJR7WoSJ6DRSUjJT2kS9/ZHzePqgxI44yCwfIQKFLBwtBK9/41hWjsiETLGfDtpJsqMIY60oQqeI38nuoK2QK1nVK8VY4Su0n621WldIe1TeRhWljSnHo2rSyhBI/kaRTvlGx6oyG2FEGbxT7avBwOFT66Q2d4KM9BzPgZ1knWmWfkeATPO6rtIesu0D6zji1m8ZJGNelRlqOGSOMe/xmFN3X2kX9+Xgb3yGlSPxiqZTXgkuSajt+QsXMk9J5HLNYtzoiWiRwy3ZQLc3NEk8qrfHq6sgGzhpJcKP95zhDJmBcZAjZ+lchk7GItsF0qv4gHEOd88R6Q/u6fR3AuRf/omEPQ1ssyIS30AeQR0ejB3qp63uDIk8Db6Lniv3suxVSRGvMmL1+Q5ZPgw1loxcVcBgx6nHVX+hFoOpnABtdd2Emz2N74GkokBZYAxzTGZsdwv5QD7f5RG3eWs1dTAN+4xDWU4DYuzEDlHUL3kqAFpfo0avpNM7KMVgXlXb/UVQYikMMDIBS8+0P9MSQJGlwC5FbxSJlrqu2NbprIq2cZ/NlbiUU3m9Djm3RCUtO/xrx8Cwu0pY7rdCQCofUIOvCzAQY0e3W++7gnFC710CWgl9F2wopxX1iASuNGP4LWD7txPbQEw2zV2B/p22F58cC1JaLUZtVgeBju7CgW/zuVa7IMs7OKLSCntX+uD12LxP7pnX7LHbIRzkiu/NGCE9kAnjayvqAlZVP/vl0mWoJ2DW+VI2sZXzEdhK5fvRIJZeIKG+OUANIg0= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 31:cI0ZDxdpEA6dhN7nQoDkcdwXnvUtlq1PcUl3Jw/q2sgPqjr1kHrxcZ2A2BNkGfzpYWwwk3R6sce2mPlQPfwXIAVe4Z9RxEWm+1q4/xz4g2A2SBCoi7Y8W3DskpYVDox3ehNMzaO+Hffr3tnrTSBRjQaoYEr6+/Pj2qfj77IYAzNMPruQ/nT2xL8YBC/9fYPeRAVwYsXU1FniEBgUGiZ/AyzL9JLFkGfkpx93p2CYa2y42Myz+abZf5uI7tuo06GD6lj8nD/vhv+qI0JVlaosaf1XFD8fhhrrrak1Zsg8MaWwPGEuYaMr15YBY6TZ/Tqm7UIFwGZWpltBy3aVCN6GGCL0bTA3PuvLVqhbhnORfzHtermhm/YEAmL9Ir/Gcw4R753G9t3BSyAjGfPIMGs7XIbe+WfkBIRBczyTSpOTPWH8gxRWjfXqaj1qkt2ZXl5QtDTweQGR9Q/E29gwYje+sqqgv+tB2nd8pjXnUdYp9rvUimcKSk7PhulYnd8zImGS68/dHDsWxis/B2ZnhqbVOq+oGyh8iHejXI4c76dTXa200a00IG/XWISTCR4mYau2t019NapQibYFaCmdoi8SDHG31ObMCDfzaOPK8F5bmUM9V0rSOI+ba4jKnqDs8zwY6hCHra+pdblCP0DoECnQiMT6ogZtK1rlqopF0nAJ6WduW+p0NKJT6W/U7x8nCD/wkZJ1J2tSoU1N3RNJl25OdA== X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 20:WwWViERWRiwVp+M3N2T+48fyClrMs6I141FPpU0osX4GaL3jBBDXKPhBfGToQsthYQD1iDJOfu/XCYfC8IIE49xGnbp/g0WakmKjd08OfRgF9o/VhS1r7V/Se75GfP0R9zcoW3Kj8eJ5C+egcEBxpyBfh7NRmIZgylD2pVBQBMpbuT8PWtz4iYw3mKhO+rEuODmw144t10XlMXVidBCHh02Jig9jNM8G0zF7qVOcvRALL8o55HorhcwYk/KiPTo+e80+RWeKdLUrXYUbqdG4XfBfDNWlnbVioxtxHteW79wGXXk70Sjocl6AYXEEZ+zu0pH+GZ+l0QBE9zuo3kWn92rbhJWBrjTnf8gLu+ps4W85raFe3Ysc/CEX+tlbMi/RpWcnkL24L6qv/tBlidlgb7bu3K1owNXPX14ma46xwC3BbD2NypZgJFiW4Io/w+uR0cH69Jo0X+6TftMhVqE33lkPOADOiLNtLFBOY12RyUI1dYxhiM4y3kF6hwca42CPvSvUuoM/TQe6fU5msC4Z8A7h64IbjpF6pt0za4OEm7loL56mafaaD/06g6Mi6s6kp3lfZB44xoad3mRYORJDtmjOxqSHNTKlVk3+ARaoZJw= X-Microsoft-Antispam-PRVS: <BN6PR07MB3092263736EDD58753080A4CEADA0@BN6PR07MB3092.namprd07.prod.outlook.com> 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:cvMwm0guxRirN5eB9v6eERvYoacYQwOb7asVBVLpPu?= m5r7QuZrbilDdzCtbsmLKj06qDQEpld6CCJIWNV4V+Jdr1jVnnV+YbUsizVB76tPaCoKwAHePt9nhWBdffUNFizuYB/9yY1DSIAHOAwAv3JlMwg5Hr2eatPOyDE1eFpnI+4PBUbrjuSSZNpZZ2crBdQXSoo6QDe5KDigBSdUS7MjcG2YhYUbOGAvByupmAYcG/P7iHmK4rYz9ZTKixFpUH4h6PWCM0ykStj3aKqr/p9aAmCWK/n/19FB2I6y+gtkS8QY7Ubl9ganT77NXF1G4yh1MnFEK8Pm99wdZoDWR/N2jItwoz9r+IengRhbOO6euVi/Zj02oTnDAiiLEedQRBl9/+bZVDKninO3TY9skExTeGlGJ47zaVbVS3dNBhgIn3ulpk5v4gedy8OcOuAGTWquXQ3cmeh0uie3yhyQJKjHS7EAJz5soS4vrePZaWyxFoVegd+lGa0IvFhNHWwttddZwbq3ifhAzqDW+HnzysJMnpvqUHOatIe1eASBM5T4rmiXq7LhHN9p5azYz5gWU/bDtGEpXhp0lazHPA53QH3lIsYk1O/hiVBh+v9hklTmdlyN2wKsWV/m7eISDxmr3HUVcwL3u7/Fpfm2lsJrrh3PeFazAnQL275xX526GeU5bwd4+u5ezFlB8f+o+UtC8R1o9+aCGaAY5GxAVP8y7GYDvsTEViy5dGyTxditPk1ve+RHASNJpAev8pvgeFFIxHWDq+CYA/QFN4eIKyJ4RMwdFpvqNPCgTDlp1ENt+3FrNXSiEXzGcTuEEoPPd5iIc/hBDvi4jMLfeqFWRZkKRDfhWS/+CT5g4k491YICd1Dv+8cVkCLM1qr5lWZ2GSdubNxtKVG2mxCjHUVPInizPbUC5yo3fn+KvjolfkBuSf9Im1kQ1ui8CSYaClwfwnSo5vNWVYAtw0TB9n4Kpb9MMI0yfT+Hz/SJXUsjZ3KEDcHvLkdp04WmG7G6/Lu9uPhdYZg5ePLrVHz+e9XgqHVpmKFctIC9FUhSWKG7KI1YBEWJb66aBbxVtdMiHSdSwheMsvonss92NjIRzYff5pmZQCHFXn5wosnn8ZW9s/m7mZS0c= 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:xVQ6P7nc0fncnvqSCRCVmNewauuxRAGGdWgGtH0Hq?= PO5Ti6yDmLP7PW4SXMnck7nFdGQYxADzl+6bWgrsdSpic74x8KtmLrv7afbBUgCk6qWBLcfGv+u5BxxZOigII1nvMir7NA9ytOIS54x7i/WAyl6t6+HgVh2pZsqJo/LWRXLN7StFY1L+MGknPktPtPspAklUOYFsC88SwmPakzFiKx7JQwonE1xvTEweGxFn/dQtbHYu7K2O+kHX8kN3e6i/tjCFnrbXO2dFJ6swuU1Hdyt/U6Nf5jWWXmRR3BfwWbgZ2DJGDVi1bVcHYLTXjJKE6h5xcz1jT512zCIILJ8IhxynBXAKTS2IA4w5jvCmDNitVBCOK92RQ8zw3PtrNkMQbjHLY86fJ88Dd5g/8HoNkJBSL5d2Ne8LwuX7gFAGQrWanouFRNWUGAZsNKn/YkoDm/JKJ0a7A+4QD3A7Cq6Souqsh2JsnYPCZBjdeaaT8rE7/1icOqAnk3qyXPqNpgcpSvhqnu/AhceJXjY0GXUQy9eQjkp5v/NSm1HIXz8UoA0BvP7QG3r+Ol/Q7Pw/kTB9V838z34Iz9VdR2KRLtKmQDbEB5I7ajL73vttxgj0NPUXicEyiDeYU12FlDLXel2XVspn47oMMtfeGGYyyUbjS+8GZQXyTLIlRIkyKnm0z0Wdc6KIJXtjhS0MgLqCKdLDbgOiQuNYtLT+LXZ15uiVL0LEshX0atsIme5/IP+Q2T67cQMoNDaUbbYPbZQtcJxBfr/IoahL41mLXQCGxsOcSKhPB1e04vLc1mKOcNQSRqP5YMq4yCb2IIE0dKg+Ts/JadyzNggxNbMwD1wImzar5+uknCR7LcLVr9cdFzWSzNpQoxeVK/AZhbeXWILk3q9lm18IDvWG1DssR4wrhNEyTyQN2S6Q8KbFMbR/qXHNWS+lZ+sYR9zv0Ez/0jwpAv7SOrq2TEltytWVxjiuplp6fQo5mgEpR8p5tXPzAsMWQo3xpmE31ePqT1kjHvM3ESeXUn0MX7UYSQXHtMozJt/L5vT9LVhxVm1lmqzMRUpSlzt2KQeShFMNnSUrRwmowje X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3092; 6:ivy9p1BOtdMCZxPIlVy10SqB72AxOtNi16UZqeaJ2I?= aA8pXrAefsEaNnaytRJVDdjgDMsmfvbJvxX9I6xM9MOOvAzb6MvUGShr2WZTz4Om6vB2Sr7CxRW0aDkEcF/alJOXX9mkOtKcnTa1iTeYoJnfoMbHNV99pJEFTwhjPOJtxh5Nw4g+zcu58YdEl8H0sgD7/0A8tT6q/+6Bv/dmX8jqJKtCESefQZuBNPMLoUsQi4XaYcDLQvfzdtCKcOmPiL4ZHycYmF1cAKjqMOfEcTk4qG3jqY8Rr46cQ4FMkxFMCUDvSkFcl0pd8KJgImAgh85jvVaaWVEKJ7WvvE3DMBWZR6RlMv18BxQSyZybkzFUiD85LjulircnR1rlAhwMxfD+bPiGC5IXUVtD4qpyK1CZUD6vWZIOL0UOr4nIKxLqd5bykg4nYyFa1qZ+5KVj3Y+OEsctuQebLqUjpB1NkifesaiA0ttndGGelEZ9iQu4AMQdPhYwFL5S1Zk/tYFx/407rlsxYU79QAcZGlP06YGfcJF8DU8GyW2MgUewEJLSxE3FsNAOWmQnQlvF3VQ8ASlczbpfvq/Ftc2dGhHZ5gg3Rd8AkTsXJjpWq5ybaiXw/ftYiq02W2Tr5z9tg6dhME3v8omMkTUTSsRim+FhLtrPjo2jt/pj6pFTr5q7HIsrMK6F4Fn8kFg1HLcQeEO596wPlZjXivKw6zTGSJpF3eGN4BN0X0wJv9Te41+xsCcpsFsS5kMNNNwryD3xytt7ylC9FrMk1M7t6/Pwii/9gx8go7/D4D35maJIsirG4qZdl9qYmrA1jKAJ5X+7NG9cvaXFvRl44jIXXdPDP6Tlmctri6AtnR4EH+6fDc6Zzhfqg7dPlO7KvIQcFI9fbX2CELYAIrXRh8dby5LvsXjwSINOkA0XL1U5rt2TM9kB50vpQ9pumouZS7oaBxNu+Xj4tz73C7R5UQLsAVZIFstsCBukeE6cAVyEaNiVHoQCVqz1o= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 5:833LCK38Z2vjpcnZvKlvsRwAjIIVkiU38CxxF15g6x/CoTNDU8juZf0m4B/dZbv4+1/V9BsTo1UOcWVsE3Dhz79RN28lUSLOjjvbRpG2kpAOgVwynBVVaDXjp2+P4sfzno/MziUYY0py8p/dpv+mqSNaHW9OH/estwDLri9gssgSFa3A9Ysfi2dlit6hFD+rcTe+tPpEJvHxXe28O7HIOyNtbSf0IQa1Y8hbU+O0mXjfMApDLtQl2g+th4WMqwVk61EMDRQAmb6WS2MfT3QvP2vLHaEnikWENuxH7Xl5DrRDYmZ1KVsXXq80ExVaqn9qRDx3wdATGyblv+vhYNFP+/A1A5+9ck4eQ81kDQzNR7nYGXxwkXbA+2L21chVLm9oWqGEIwQYdEAzNWo9UB5hgZHyBRcgEWd+YfK8856hQ/8snb0p75ZMEmAPSN+2YYPDBWghngxsFXpUVMsddRCXyK5mmLZhVMB1vVyOlEeZMvL86a4bFl6g09FsXja6kbKI; 24:lGNEL7vhg8/xSPIliOqiNSnQNPZDZHZa/Wr4y6S64UVsBwatTKz3rEaV3ieyW3N2lI3uE/19EskuCT5x2s7hWT8R0RH39+Jmq5019eLoE6Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 7:BG3rA3YpNC0LJtg10xkW2bD869pv7eB08J6RiNW3Pag0ghuq0DBs2QOdgCvViU4ejMi+PxCwjK/n4yn3EjeYG4OISE0TDN6G/IP05BcX71gypEklkSjx+29e906TmnoFKIxPTw2g4ULRzogEhdnKsokLyYvOqXoj33Jjbsc6YTUW9pSd7a6lvLy4f1cyx8Ow6Y2GrPGiyRHckSGBm7iMDRTNnevwmalmmXEC71tfzKvI3TWMIgGX0aKWnSGhtCDJry19ZYLlSr0XE0cnHH8OETj/wI+GgYgoCBWW8vbExv1olyp64hNUEjGosAWRBCZNmm2AqjkcJtFCTjG0aEwGUP5qNEDCr0GF87E4XaEPgH3qn8x5VRcjJuOGQFmWRSd8guDWISN/oSqBW2kVmbrfNvN+w7tWWhFZpvdbGti/BnViOvSBCvAhDFT8HclDXqUMH2Q1MyWA5V70TeERYF3q+L3x9R50eLvsPDeAk/8+7ZlQKJ+hpp3JzpyeiDQFC1IqxhhEKsqy/4YRcNIesq3ubEds1532R9LVAr6G4ssjYMOIIu3+HfXXzYSSY6HxyihKlxZLxn3PnpYeySmt4pZNeh1g0X5V1c1OOivRFlb2I7fg0hPOV2yqVWKHi4yfEjuwOwuME4K2lrM7Fzj7bpfu/JSocdU4Q3/a6wpPzDamE5Vj1+P+uOMnTsMfAPrMs8IYQLmuAjpyUnpuT4TPV88SRo1QVezmjG86D8Dg7Xg8mgaq81fTO6IgYiItrP6EsVaLfxYZQQpeIg4vTpD/FCDVT01GQa26izcEEoM09tXL+0g= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2017 17:33:44.0320 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3092 Subject: [dpdk-dev] [PATCH 2/4] mempool: detect physical contiguous object in pool X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Checks
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | fail | Compilation issues |
Commit Message
Santosh Shukla
June 21, 2017, 5:32 p.m. UTC
HW mempool blocks may need physical contiguous obj in a pool. Introducing MEMPOOL_F_POOL_CONTIG flag for such use-case. The flag useful to detect whether all buffer fits within a hugepage or not. If not then return -ENOSPC. This way, we make sure that all object within a pool is contiguous. Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> --- lib/librte_mempool/rte_mempool.c | 8 ++++++++ lib/librte_mempool/rte_mempool.h | 1 + 2 files changed, 9 insertions(+)
Comments
On Wed, 21 Jun 2017 17:32:46 +0000, Santosh Shukla <santosh.shukla@caviumnetworks.com> wrote: > HW mempool blocks may need physical contiguous obj in a pool. This should be clarified: the memory area containing all the objects must be physically contiguous, right? > Introducing MEMPOOL_F_POOL_CONTIG flag for such use-case. The flag > useful to detect whether all buffer fits within a hugepage or not. If > not then return -ENOSPC. This way, we make sure that all object within a > pool is contiguous. > > Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> > Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> > --- > lib/librte_mempool/rte_mempool.c | 8 ++++++++ > lib/librte_mempool/rte_mempool.h | 1 + > 2 files changed, 9 insertions(+) > > diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c > index 045baef45..7dec2f51d 100644 > --- a/lib/librte_mempool/rte_mempool.c > +++ b/lib/librte_mempool/rte_mempool.c > @@ -368,6 +368,14 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char *vaddr, > > total_elt_sz = mp->header_size + mp->elt_size + mp->trailer_size; > > + /* Detect nb_mbuf fit in hugepage */ > + if (mp->flags & MEMPOOL_F_POOL_CONTIG) { > + if (len < total_elt_sz * mp->size) { > + RTE_LOG(ERR, MEMPOOL, "nb_mbufs not fitting in one hugepage,..exit\n"); > + return -ENOSPC; > + } > + } > + We should not reference mbuf, we are in mempool code, dealing with any kind of object. Also, len is not necessarily the size of a hugepage, but the size of the physical area passed to te_mempool_populate_phys(). > memhdr = rte_zmalloc("MEMPOOL_MEMHDR", sizeof(*memhdr), 0); > if (memhdr == NULL) > return -ENOMEM; > diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h > index c3cdc77e4..fd8722e69 100644 > --- a/lib/librte_mempool/rte_mempool.h > +++ b/lib/librte_mempool/rte_mempool.h > @@ -266,6 +266,7 @@ struct rte_mempool { > #define MEMPOOL_F_SC_GET 0x0008 /**< Default get is "single-consumer".*/ > #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 */ We must highlight here that it's a capability flag. Following my other comments on the first patch, this define should be renamed in something else. I suggest: #define RTE_MEMPOOL_CAPA_PHYS_CONTIG 0x0001 The description should be longer and more accurate. I'm also a bit puzzled because this is more a limitation than a capability. > > /** > * @internal When debug is enabled, store some statistics.
Hi Olivier, On Monday 03 July 2017 10:07 PM, Olivier Matz wrote: > On Wed, 21 Jun 2017 17:32:46 +0000, Santosh Shukla <santosh.shukla@caviumnetworks.com> wrote: >> HW mempool blocks may need physical contiguous obj in a pool. > This should be clarified: the memory area containing all the > objects must be physically contiguous, right? ok. >> Introducing MEMPOOL_F_POOL_CONTIG flag for such use-case. The flag >> useful to detect whether all buffer fits within a hugepage or not. If >> not then return -ENOSPC. This way, we make sure that all object within a >> pool is contiguous. >> >> Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> >> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> >> --- >> lib/librte_mempool/rte_mempool.c | 8 ++++++++ >> lib/librte_mempool/rte_mempool.h | 1 + >> 2 files changed, 9 insertions(+) >> >> diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c >> index 045baef45..7dec2f51d 100644 >> --- a/lib/librte_mempool/rte_mempool.c >> +++ b/lib/librte_mempool/rte_mempool.c >> @@ -368,6 +368,14 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char *vaddr, >> >> total_elt_sz = mp->header_size + mp->elt_size + mp->trailer_size; >> >> + /* Detect nb_mbuf fit in hugepage */ >> + if (mp->flags & MEMPOOL_F_POOL_CONTIG) { >> + if (len < total_elt_sz * mp->size) { >> + RTE_LOG(ERR, MEMPOOL, "nb_mbufs not fitting in one hugepage,..exit\n"); >> + return -ENOSPC; >> + } >> + } >> + > We should not reference mbuf, we are in mempool code, dealing with > any kind of object. ok, in v2. > Also, len is not necessarily the size of a hugepage, but the size of the > physical area passed to te_mempool_populate_phys(). The idea is to make sure that blk_sz (total_elt_sz * mp->size) fits with in hugepage. So if rte_eal_has_hugepages() is true then 'len' is hugepage size, in-case of non-hugepage this condition would fail. Does that make sense? if so then I'll modify comment and error log. Otherwise could you pl. suggest better approach to detect phys contiguity. >> memhdr = rte_zmalloc("MEMPOOL_MEMHDR", sizeof(*memhdr), 0); >> if (memhdr == NULL) >> return -ENOMEM; >> diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h >> index c3cdc77e4..fd8722e69 100644 >> --- a/lib/librte_mempool/rte_mempool.h >> +++ b/lib/librte_mempool/rte_mempool.h >> @@ -266,6 +266,7 @@ struct rte_mempool { >> #define MEMPOOL_F_SC_GET 0x0008 /**< Default get is "single-consumer".*/ >> #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 */ > We must highlight here that it's a capability flag. > Following my other comments on the first patch, this define should be > renamed in something else. I suggest: > > #define RTE_MEMPOOL_CAPA_PHYS_CONTIG 0x0001 > > The description should be longer and more accurate. > > I'm also a bit puzzled because this is more a limitation than a > capability. ok with renaming flag but per my [1/4] comment. But i find it makes more sense to - not differentiate PHYS_CONTIG with existing mempool cap flags. >> >> /** >> * @internal When debug is enabled, store some statistics.
diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index 045baef45..7dec2f51d 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -368,6 +368,14 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char *vaddr, total_elt_sz = mp->header_size + mp->elt_size + mp->trailer_size; + /* Detect nb_mbuf fit in hugepage */ + if (mp->flags & MEMPOOL_F_POOL_CONTIG) { + if (len < total_elt_sz * mp->size) { + RTE_LOG(ERR, MEMPOOL, "nb_mbufs not fitting in one hugepage,..exit\n"); + return -ENOSPC; + } + } + memhdr = rte_zmalloc("MEMPOOL_MEMHDR", sizeof(*memhdr), 0); if (memhdr == NULL) return -ENOMEM; diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index c3cdc77e4..fd8722e69 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -266,6 +266,7 @@ struct rte_mempool { #define MEMPOOL_F_SC_GET 0x0008 /**< Default get is "single-consumer".*/ #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 */ /** * @internal When debug is enabled, store some statistics.