From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Rybchenko Subject: Re: [RFC v2 03/17] mempool/octeontx: add callback to calculate memory size Date: Sat, 10 Mar 2018 18:49:41 +0300 Message-ID: <6f42aa65-e214-0bab-6b9d-09a5c2f4f171@solarflare.com> References: <1511539591-20966-1-git-send-email-arybchenko@solarflare.com> <1516713372-10572-1-git-send-email-arybchenko@solarflare.com> <1516713372-10572-4-git-send-email-arybchenko@solarflare.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: Olivier MATZ , Jerin Jacob To: santosh , dev Return-path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id 9D78C2C01 for ; Sat, 10 Mar 2018 16:49:52 +0100 (CET) In-Reply-To: Content-Language: en-GB List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Santosh, On 02/01/2018 04:40 PM, santosh wrote: > On Thursday 01 February 2018 03:31 PM, santosh wrote: >> Hi Andrew, >> >> >> On Thursday 01 February 2018 11:48 AM, Jacob, Jerin wrote: >>> The driver requires one and only one physically contiguous >>> memory chunk for all objects. >>> >>> Signed-off-by: Andrew Rybchenko >>> --- >>> drivers/mempool/octeontx/rte_mempool_octeontx.c | 25 +++++++++++++++++++++++++ >>> 1 file changed, 25 insertions(+) >>> >>> diff --git a/drivers/mempool/octeontx/rte_mempool_octeontx.c >>> b/drivers/mempool/octeontx/rte_mempool_octeontx.c >>> index d143d05..4ec5efe 100644 >>> --- a/drivers/mempool/octeontx/rte_mempool_octeontx.c >>> +++ b/drivers/mempool/octeontx/rte_mempool_octeontx.c >>> @@ -136,6 +136,30 @@ octeontx_fpavf_get_capabilities(const struct rte_mempool *mp, >>> return 0; >>> } >>> >>> +static ssize_t >>> +octeontx_fpavf_calc_mem_size(const struct rte_mempool *mp, >>> + uint32_t obj_num, uint32_t pg_shift, >>> + size_t *min_chunk_size, size_t *align) >>> +{ >>> + ssize_t mem_size; >>> + >>> + /* >>> + * Simply need space for one more object to be able to >>> + * fullfil alignment requirements. >>> + */ >>> + mem_size = rte_mempool_calc_mem_size_def(mp, obj_num + 1, pg_shift, >>> + >> I think, you don't need that (obj_num + 1) as because >> rte_xmem_calc_int() will be checking flags for >> _ALIGNED + _CAPA_PHYS_CONFIG i.e.. >> >> mask = MEMPOOL_F_CAPA_BLK_ALIGNED_OBJECTS | MEMPOOL_F_CAPA_PHYS_CONTIG; >> if ((flags & mask) == mask) >> /* alignment need one additional object */ >> elt_num += 1; > ok, You are removing above check in v2- 06/17, so ignore above comment. > I suggest to move this patch and keep it after 06/17. Or perhaps keep > common mempool changes first then followed by driver specifics changes in your > v3 series. Finally I've decided to include these changes into the patch which removes get_capabilities [1]. Please, take a look at suggested version. I think it is the most transparent solution. Otherwise it is hard to avoid the issue found by you above. I'm sorry, I've forgot to include you in CC. [1] https://dpdk.org/dev/patchwork/patch/35934/ Thanks, Andrew.