From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DE3B3A0548; Sat, 3 Apr 2021 16:32:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5620740696; Sat, 3 Apr 2021 16:32:14 +0200 (CEST) Received: from mail-il1-f181.google.com (mail-il1-f181.google.com [209.85.166.181]) by mails.dpdk.org (Postfix) with ESMTP id E4BDC4067B for ; Sat, 3 Apr 2021 16:32:12 +0200 (CEST) Received: by mail-il1-f181.google.com with SMTP id u2so6787133ilk.1 for ; Sat, 03 Apr 2021 07:32:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=euiS2qYrsp9773l0o7HzKFbglAaHHWlvvwNfNkwCiU8=; b=mjQreaYiqJI2U62OERy1tyEJ2DWiStCmxGH9QQ3uVMSih2yheU5+xO4QTf/pMaEpP9 mg4P4WwvtLar5FEKPGaNeNwFxwqhmifugGq6xSq3BocyjYU1l0to1BFA847hgnHvZUVo IQAuY8IOnh58QmSbICleimIJsMioyaTw+2hAOC802QonDujMc/DKR9WSxTbCDIOI4CIT hRRpdudH8TMGyplwI5SPVzw5veZqlLUVqNkyLmpg3NlBt+U+CqVlTjmWD2nD+hUeepXN FkmWjSwf+3Ln0kU2euhLpBIHAQ0dY5FHuCADKFG62MVA+kBeLdYY/6WCQFavrggqsyem OxEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=euiS2qYrsp9773l0o7HzKFbglAaHHWlvvwNfNkwCiU8=; b=CqWNg+emY49lwt0eYpF9kJnom73suKva3kcfxAa8XugRSv8MxmG9CCF+Pk4y+n0RRA a7pM6/4D6CWgFHMG7gahpd/nM8rfBtyrVVxl8p+A0Cied09B4BdbixME+W4ZYt0nu0OO +rvjzCATLwYy2pNoQ0UOL+8lvK6+u4cER32Ixwpw9O4r36KZW6BslWROfoZgdAPt/hbi cuyWnoxfTBEqmUQhU76jfrj+b0FDFos22Xv8dVfBaUwJx18V/BPyZ338IrWP+9JMUAix LWWXkA/QEMDMdr3zl0vwNZjrk8oZ2BqOmd5IlLIVcmeZZTh97S8hyNea7Dl1aWXnmZ0M IsCw== X-Gm-Message-State: AOAM530Qy/Hx0LP88lB0eeeGu4yhM2wvRbBEgTdPxHNFJFMMQBq/AwtI YqG+JEBg2jXt/UoIfhyxbYi3d5DLnI78ziB1lnI= X-Google-Smtp-Source: ABdhPJwtwIoJAdWxSg6aQN9crqru33q9mpdBQWPHHJNiaUvu6BtKhnijHc2h4vuGelJA1sZyfL9PVjJ8R717eJsGAIQ= X-Received: by 2002:a05:6e02:188b:: with SMTP id o11mr13960302ilu.294.1617460332239; Sat, 03 Apr 2021 07:32:12 -0700 (PDT) MIME-Version: 1.0 References: <20210305162149.2196166-1-asekhar@marvell.com> <20210403141751.215926-1-asekhar@marvell.com> <20210403141751.215926-9-asekhar@marvell.com> In-Reply-To: <20210403141751.215926-9-asekhar@marvell.com> From: Jerin Jacob Date: Sat, 3 Apr 2021 20:01:56 +0530 Message-ID: To: Ashwin Sekhar T K Cc: dpdk-dev , Jerin Jacob , Sunil Kumar Kori , Satha Koteswara Rao Kottidi , Pavan Nikhilesh , Kiran Kumar K , Satheesh Paul Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v2 09/11] mempool/cnxk: add cn10k batch enqueue op X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Sat, Apr 3, 2021 at 7:49 PM Ashwin Sekhar T K wrote: > > Add the implementation for Marvell CN10k mempool batch enqueue op. > > Signed-off-by: Ashwin Sekhar T K > --- > drivers/mempool/cnxk/cn10k_mempool_ops.c | 28 +++++++++++++++++++++++- > 1 file changed, 27 insertions(+), 1 deletion(-) > > diff --git a/drivers/mempool/cnxk/cn10k_mempool_ops.c b/drivers/mempool/cnxk/cn10k_mempool_ops.c > index d34041528a..2e3ec414da 100644 > --- a/drivers/mempool/cnxk/cn10k_mempool_ops.c > +++ b/drivers/mempool/cnxk/cn10k_mempool_ops.c > @@ -112,6 +112,32 @@ batch_op_fini(struct rte_mempool *mp) > BATCH_OP_DATA_SET(mp->pool_id, NULL); > } > > +static int __rte_hot > +cn10k_mempool_enq(struct rte_mempool *mp, void *const *obj_table, > + unsigned int n) > +{ > + const uint64_t *ptr = (const uint64_t *)obj_table; > + uint64_t lmt_addr = 0, lmt_id = 0; Please check the initialization to zero is required or not. > + struct batch_op_data *op_data; > + > + /* Ensure mbuf init changes are written before the free pointers are > + * enqueued to the stack. > + */ > + rte_io_wmb(); > + > + if (n == 1) { > + roc_npa_aura_op_free(mp->pool_id, 1, ptr[0]); > + return 0; > + } > + > + op_data = BATCH_OP_DATA_GET(mp->pool_id); > + lmt_addr = op_data->lmt_addr; > + ROC_LMT_BASE_ID_GET(lmt_addr, lmt_id); > + roc_npa_aura_op_batch_free(mp->pool_id, ptr, n, 1, lmt_addr, lmt_id); > + > + return 0; > +} > + > static int > cn10k_mempool_alloc(struct rte_mempool *mp) > { > @@ -162,7 +188,7 @@ static struct rte_mempool_ops cn10k_mempool_ops = { > .name = "cn10k_mempool_ops", > .alloc = cn10k_mempool_alloc, > .free = cn10k_mempool_free, > - .enqueue = cnxk_mempool_enq, > + .enqueue = cn10k_mempool_enq, > .dequeue = cnxk_mempool_deq, > .get_count = cnxk_mempool_get_count, > .calc_mem_size = cnxk_mempool_calc_mem_size, > -- > 2.31.0 >