From mboxrd@z Thu Jan 1 00:00:00 1970 From: santosh Subject: Re: [RFC v2 03/17] mempool/octeontx: add callback to calculate memory size Date: Sun, 11 Mar 2018 12:01:48 +0530 Message-ID: <2d1f195e-c6d7-5bb2-8d2b-e38af989d97b@caviumnetworks.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> <6f42aa65-e214-0bab-6b9d-09a5c2f4f171@solarflare.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Olivier MATZ , Jerin Jacob To: Andrew Rybchenko , dev Return-path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0070.outbound.protection.outlook.com [104.47.41.70]) by dpdk.org (Postfix) with ESMTP id 044F1728E for ; Sun, 11 Mar 2018 07:32:07 +0100 (CET) In-Reply-To: <6f42aa65-e214-0bab-6b9d-09a5c2f4f171@solarflare.com> Content-Language: en-US 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 Andrew, On Saturday 10 March 2018 09:19 PM, Andrew Rybchenko wrote: > 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. > Sure. I'll review. > I'm sorry, I've forgot to include you in CC. > NP, Thanks. > [1] https://dpdk.org/dev/patchwork/patch/35934/ > > Thanks, > Andrew.