From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0073.outbound.protection.outlook.com [104.47.37.73]) by dpdk.org (Postfix) with ESMTP id 5E4522C66 for ; Mon, 4 Sep 2017 16:47:34 +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=T/zxcFBsHVpoRqpzuhU9DFUX7QYIvWz5jmyYqLeB8Cs=; b=OSgyqyn5R2X8eaNptJu3Touj18cDFZ0d2FTNgBPNGuu7B+60NwBSQ/OXaum+WvmF9c3GWJV3+ApJyPOGteRmMC+Dk+08K358bC9CcoCeqSW7kX0YG7JP4SXNSLSp2ud8/ukxX2BPeaoaxWxR7xFOmLiomN6Ukx7gVFXolNUJZbo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from [10.89.1.1] (14.140.2.178) by MWHPR07MB3101.namprd07.prod.outlook.com (10.172.95.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Mon, 4 Sep 2017 14:47:29 +0000 To: Olivier MATZ References: <20170720134759.4680-1-santosh.shukla@caviumnetworks.com> <20170815060743.21076-1-santosh.shukla@caviumnetworks.com> <20170815060743.21076-6-santosh.shukla@caviumnetworks.com> <20170904144323.6mluy4mpptaodx7a@neon> Cc: dev@dpdk.org, thomas@monjalon.net, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com From: santosh Message-ID: <321ee2b6-e43c-a54d-dcd2-71d93e50c2be@caviumnetworks.com> Date: Mon, 4 Sep 2017 20:17:11 +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: <20170904144323.6mluy4mpptaodx7a@neon> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: PN1PR01CA0102.INDPRD01.PROD.OUTLOOK.COM (10.174.144.18) To MWHPR07MB3101.namprd07.prod.outlook.com (10.172.95.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1ab2a0fa-df93-436b-13ca-08d4f3a3df08 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:MWHPR07MB3101; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3101; 3:7j2sbgGFTgh/0VTs+or8htSTCHVZdiEIqs2gC7d8zQX89zPToAh2JUeuHBagYqSkbr3X9YDLXvhTAUnu6DYjmvEyhpmdnOtR0TgijjigrtRTM4+LfKFVK+5zy7tYreCTYKfd/GlcPKUXv0wOfqtwU0KzSyGtnTE8CrC/ouoP9a8N3h1fhfCBH2HRfJt7wnypKsdLhUT+PGo4eiJf3B8zg1OzUXpWQ21shgKH3fLh531iHNOWWIo9KTVwvlt8vJI5; 25:OUTudUz9pKgXVea+BBlPcHI9aIwYOQ1ktd3X468uCOLdaRNT8/wZvvTWYrdtrf1tyR0Yd8F3bMHL1Ijn+Z6ZpH7lBVIXiSOiXCCXDbgFdJHbMYtrZ0snPDXmspuTClTiQPJxusC33ykSyKtvC1xjd0A0QNYbi0/bwAclW3TdovjpybKdWasx0/1AJ0VOczLo6J4O9fzZpeYB0F8gbAanP+tVKcWCV0FLXhkmEFNmxeEylv5cXwAf9+S4pZv07QkgSQ8dIEbsbHQ3TcJornSqAkfw+nhJzcLbWDlIc3taom8GlTGCLBjE2kOrDBUyIM+zNtCo4UtXRgmeVBMemn+knQ==; 31:Wc0ht34HxPGHgZlwKS2oUHOuahfW8a5ierfvjvgXxryDfYmJtP/V4pQMYyyhB2Z2vuQJDCMlanHNGUOPN357UlfYtCEA05qTHF3SA5ItV1ayjsi7d1fT4hWUM9skP6xD8F1DU0woeNzOCJhc9gg7yZilCsQj1q6zJ/NTK3yzTW5SDhn408ZLiuUdNYetFadtlClSal4t0Mz4dkD5sPeeXR60SybOo9D/f28g6khDUPE= X-MS-TrafficTypeDiagnostic: MWHPR07MB3101: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3101; 20:GQfNnPDxLVPbfx8STHeT9QdjnY8z94vQPOZkS5DnFbQE70u5ek3TlE5UygEuLvMD/69jjBhEvhdTGQfdXBUrLBnbgHILEx/Ly50+qaBx4IJd2L6Uwu+nTUc2ptG5sA63h0uhCk+5ZsVGdDTw0NF/2hh5PvTsDaBxi3XnWPoKcwio2v6p/zErh6Q9ihCA5SzTbR7HYH7XviZY55PTytFXC2sGHZGm5pq867Jy1lOXqPyxqkcaJuLKVCjU9pQtFpzJvshDHy0UCNglxw9Ef8cja1bEN6+vtkENkQJ/i4xCJ3V32JohgMcL8bXiWTa8jrw2dhefjN++4p1ot51JdjypjSPE3YwbIjW8EgAdsveo5xlkfjCb/fDcEZh2HZIVyyEJHqQSTEl8hDG28G2pNqRH697NXJR45sZiHZPwoI09+nNJcf0V8DN7Oujk13zTT5m9USx8EWbQRlvPH9qTwmqy9fiYFEnqjI2s2QtDdKrFFvK6UXPlvtezUJguIMP0ntz9LzFs+KCmAga1M6t3F5LrkMknGIjCKfuWOzo2CAVhPP9A/D9sXyQ/lBcUH1Jc76PQB0z7xmuq9KN59oypVOaTsCavbFR89bo4CDqp9cIMd88=; 4:FD58aQvTnj6vBEJXniGMqh2+3Y5quao22lEuFIfdo4KMjtF3/m9eGG1oqj3OlpsxSThiyu0jZQpWqRaPbIFbm4TwbEmryfGuqM1jERwWvJZAL5oIoyaHW1NiVwlbT88WUVTUI9/CLiu/adt40Qs+GlCaUfQ2xqQWWQMlZjdGwo2URQcCELGT4L5zotjt0qBUh46nGf2VpS2fR7FCx6zx9XCDteYjYdUrSmnypdN4x+EUDiP74p0dn6E5Wt9wyfd0pUiAfKVPYfU+y7pA4IqOYY3rClCX7FRBTYyWf5lx1ZI= X-Exchange-Antispam-Report-Test: UriScan:(131327999870524); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(20161123560025)(20161123564025)(20161123558100)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR07MB3101; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR07MB3101; X-Forefront-PRVS: 0420213CCD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6049001)(377454003)(24454002)(189002)(199003)(64126003)(97736004)(6486002)(90366009)(77096006)(72206003)(4001350100001)(93886005)(83506001)(105586002)(106356001)(5660300001)(5009440100003)(65826007)(81156014)(81166006)(478600001)(8676002)(8936002)(33646002)(42186005)(50466002)(229853002)(23746002)(31686004)(36756003)(2906002)(68736007)(50986999)(3846002)(76176999)(6116002)(54356999)(6246003)(53936002)(189998001)(65806001)(110136004)(47776003)(66066001)(65956001)(101416001)(31696002)(230700001)(8656003)(305945005)(2950100002)(25786009)(86152003)(7736002)(4326008)(6666003)(42882006)(6916009)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3101; H:[10.89.1.1]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; MWHPR07MB3101; 23:YpwGDKZGA0nGxhdkZz+zIxB+ZgXoXUrZ4rGXg?= =?Windows-1252?Q?3ac+vfve+FYkHZnZr1rEPWlDyxF2EhQteW8bCAhnJDMFRTbM9YcO5Kam?= =?Windows-1252?Q?M90s4trXn2plExtF3UZcOAS72M5P0oM7/RKUb4Vb5Romg/UsUjWtaBby?= =?Windows-1252?Q?10ikXr010Bv3B9cF81aQh0KB+u7kpXCJ4FWqZ0cBG0X2JZI+8NHiYD8P?= =?Windows-1252?Q?VBhDzvF6RQU3b/BiQDa89+0Z5KPgXhTxHSvfFIVCI6yDvDew4za712g8?= =?Windows-1252?Q?wjBeHxloNiZ9FJKXsydgv3V2qMcgrgnJyY4EmETMsPCAePfnIDRci7fa?= =?Windows-1252?Q?wPnVkapILbKjGATCMcQ7gjcJIVOX4G65xwRsx2IF44qAduF/eLEQZi5S?= =?Windows-1252?Q?xJllYUeiAVCRL4FbRAgmN+LFKram+RjbdxL7dTRtQD3bxYdp/dwJCl0v?= =?Windows-1252?Q?Mdw5+swdAPXfwNB0b7N7cI1UADPOCkQ7TNcl2QCt/6G1MZmeToJT3NU+?= =?Windows-1252?Q?M4z5qlkycAgvhthYz0DkyBJsniCqSTPq5MgZmU34m9arLKSiUYfJv8L/?= =?Windows-1252?Q?FKDd7lQGkUpPY11flq2UhCB/DCwIHtAkVhgcMS9wGC3NZVLy/JbWty83?= =?Windows-1252?Q?rNwsf42GbWdFFojLXt3yjB88zgqL/9dkpO6FlewIg0XFNLj03zai6UKF?= =?Windows-1252?Q?QeRbQOxmQHQdS2RKBtKYb4Oy0+Ya3yCk5qQvm7rqjE/2+gka7DxMAO5P?= =?Windows-1252?Q?3Ae8PZSUryD6Wo2peZ3LdVwIdU263b13DGoN6lADFSys8VRHYzj/ZQyT?= =?Windows-1252?Q?tkxreLnvIpmMdYz4Q636AQwYA5AqShRzJ1EsqDJq4EZCLSsz3TyovBHp?= =?Windows-1252?Q?hVzcd7wJ9NC0KFcHyxiNz9wvEVWwC0z/uTYIeMcmW21nEjcnLrcbWIUY?= =?Windows-1252?Q?7hmB8nLX+8C8ebpDlIopb6RX2R8EekfacFUDG/ql6DtcX1RUQNlP3HS6?= =?Windows-1252?Q?3SgZMJK6XEhzYKtM8JNTiVqogDCsfRtacq7mRGRrorlL6QtJFiXfbpoD?= =?Windows-1252?Q?NbwrPEAGr9jDYMKcBE16MNwYz88qOSD0ZIzwY60h5bk0/SNn+Tlsj4ov?= =?Windows-1252?Q?C27QYhp+X3dWBraHqxwRHJ7OkDdkd/VnDimlqzfiLUVpQClE3ghj7d0K?= =?Windows-1252?Q?YX+2mdiwaoIJ7LSyT2MiV4lfIKFkqkULGZiIgPUNd8GXDux3Rzi+/Jxc?= =?Windows-1252?Q?a8lOb4C14ETS3CQOe6E7NXhQ/OX/6n8t84BeZt8RN7OCQPkLG1l9HkXh?= =?Windows-1252?Q?nZ+zA8r803KhPMdtAObmDBhInrF7MkWbG6nMkuu9uPi03zDhK1BL3wUV?= =?Windows-1252?Q?p1BEayQm+OQWzIORETBJ762ws8ta3XFiaNo9NO3hEi8GbAJlqCwsbM10?= =?Windows-1252?Q?mWIkCvxNdefayWclG91x7ZYNEqZbNhs+Po5XZubmpJbdJlTJRMbl/Qgj?= =?Windows-1252?Q?7GySynulA0JnGZcIw0HVTZkCiMLHUOgNgnd5+hwIuU0iNcji6+9P1fgC?= =?Windows-1252?Q?b5lI4cWxgLa+EE=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3101; 6:Tvhk39xNU7DoDsmvubydfXwHugTYT5ICCqP9LwYpmAlOnhy2uYklRSRC37pCddW/ad1wyKHrBFgmnvv7VR7XZWczwCZImIUOfGZ09TUmq8wiPMZxidNB9JyxnvA6DV63a13isurV0qtMSLwPjCe+gFc9ggQHdKSMtSPGDTkzDagrhKC1MiXJa1WG+9iSVIdfCTU0ty066GMezSTCcQEvLk3FKxe8+yyqwFAPPRU0s9nBtJ7nqX5H7o+V4AFOVK2jrv7DyJXEpmTNYyZETzltCQr0/9AVbrevPbzJiUuqpZztdgE/QTTEsswazu8/tRCWWa1ZzYimZodSn1SqbEtPiA==; 5:CphWqlW/P/XCuJzHQ9G9PM6YIHaCZu83tuS0b7ki3pJ9dCA7Y8PdyF9w0PDL7u2txQGcS4kEArVd7f3atCDxs0i1IjiYGh3F+GZ5ykAEwvOljzdXA06BIXzS6tFInf+awwjA871AsQXbDvjE1Wow7g==; 24:Ux+57UZwR/oXunulLiBmb06VaXU1rfIcB+lnxMW9NAuLumVZXObtKgt6w3bK0cM7npthsWYPJ33Rd74IoF8OvaQeE+Ppj7Sb27DoO4kFkPQ=; 7:knsDw8kPMpmWD1PhXayUCWxRhX6R1DIuPgSZ8aRCD+ExXNAuzHNq7OCkLN866CFlmFQABL7PHX0Qvc5MxnLDR9ABmDR1oCk7T43LBAP6O6tAT32m8XS2BBwJ2pJ5YFfXOmJvPPyapmm7fYlOluUBzf6B04PLpIX2I2omvx5i62a6zIks7TntaK7AlCPRwdDgrrUzZob0NVVMoyx8xXhlfhAxV/ZyO8hpPawtH7Xf+Sc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2017 14:47:29.2368 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3101 Subject: Re: [dpdk-dev] [PATCH v4 5/7] 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Sep 2017 14:47:34 -0000 On Monday 04 September 2017 08:13 PM, Olivier MATZ wrote: > On Tue, Aug 15, 2017 at 11:37:41AM +0530, Santosh Shukla wrote: >> The memory area containing all the objects must be physically >> contiguous. >> Introducing MEMPOOL_F_CAPA_PHYS_CONTIG flag for such use-case. >> >> The flag useful to detect whether pool area has sufficient space >> to fit all objects. If not then return -ENOSPC. >> This way, we make sure that all object within a pool is contiguous. >> >> Signed-off-by: Santosh Shukla >> Signed-off-by: Jerin Jacob >> --- >> 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 d518c53de..19e5e6ddf 100644 >> --- a/lib/librte_mempool/rte_mempool.c >> +++ b/lib/librte_mempool/rte_mempool.c >> @@ -370,6 +370,14 @@ rte_mempool_populate_phys(struct rte_mempool *mp, char *vaddr, >> >> total_elt_sz = mp->header_size + mp->elt_size + mp->trailer_size; >> >> + /* Detect pool area has sufficient space for elements */ >> + if (mp->flags & MEMPOOL_F_CAPA_PHYS_CONTIG) { >> + if (len < total_elt_sz * mp->size) { >> + RTE_LOG(ERR, MEMPOOL, "pool area %" PRIx64 " not enough\n", (uint64_t)len); >> + 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 bc4a1dac7..a4bfdb56e 100644 >> --- a/lib/librte_mempool/rte_mempool.h >> +++ b/lib/librte_mempool/rte_mempool.h >> @@ -265,6 +265,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_CAPA_PHYS_CONTIG 0x0040 /**< Detect physcially contiguous objs */ >> > The description should be longer. It is impossible to understand what is the > meaning of this capability flag by just reading the comment. > > Example: > /** > * This capability flag is advertised by a mempool handler if the whole > * memory area containing the objects must be physically contiguous. > */ in v5, Thanks.