DPDK patches and discussions
 help / color / mirror / Atom feed
From: Kamaraj P <pkamaraj@gmail.com>
To: dev@dpdk.org
Cc: Nageswara Rao Penumarthy <npenumar@cisco.com>
Subject: Re: [dpdk-dev] rte_pktmbuf_pool_create returns EINVAL
Date: Fri, 11 Dec 2020 23:51:22 +0530	[thread overview]
Message-ID: <CAG8PAapffEdj3nZJSSH7Nt+CaS0OuUcZ=7ZrQ150=Sjfc5tADw@mail.gmail.com> (raw)
In-Reply-To: <CAG8PAapRgqbjv-oJXJEOxR6r6QcD1StsCBy+JtqODm9XyDPtig@mail.gmail.com>

Hello All,

Looks like the implementation of rte_mempool_populate_default()API changed
from dpdk 18.13 to 19.11 version.
This to get contiguous memory from the page.  Please see the difference in
this API.
*from dpdk 18.13:*
" If we fail to get enough contiguous memory, then we'll go and

*from dpdk 19.11*
* reserve space in smaller chunks.

Here is the palace where we see the failure ?
rte_mempool_populate_default() {
......
.......
if (pg_sz == 0 || (mz_flags & RTE_MEMZONE_IOVA_CONTIG))
ret = rte_mempool_populate_iova(mp, mz->addr,
iova, mz->len,
rte_mempool_memchunk_mz_free,
(void *)(uintptr_t)mz);
else
ret = rte_mempool_populate_virt(mp, mz->addr,
mz->len, pg_sz,
rte_mempool_memchunk_mz_free,
(void *)(uintptr_t)mz);
if (ret < 0) {
r
*te_memzone_free(mz);                        RTE_LOG(ERR, MEMPOOL, "zero
%d\n",   ret); ==> fails here*
goto fail;
}

.....
....
}
Is there anything that needs to be added from our application to get
contiguous memory ?
BTW we are using the "-legacy-mem" option.

Please suggest if there is any change required w..r.t dpdk 19.11 for the
mbuf pool creation ?

Thanks,
Kamaraj



On Thu, Dec 10, 2020 at 11:47 PM Kamaraj P <pkamaraj@gmail.com> wrote:

> Hello All,
>
> We could observe the issue with rte_mempool_populate_default() API.
> Does this lead to fetching contiguous memorywhen allocating it ?
> BTW we are using the "legacy mem" option to initialize it.
>
> Please share if you have more info on this issue.
>
>
> On Tue, Dec 8, 2020 at 12:59 PM Kamaraj P <pkamaraj@gmail.com> wrote:
>
>> Hello All,
>>
>> We are using DDPDK 19.11 and when we call *rte_pktmbuf_pool_create() *API
>> allocate memory,
>> we could see the EINVAL ( EINVAL - cache size provided is too large, or
>> priv_size is not aligned ) return from that above API.
>> We are seeing the issue only when we pass the Priv_size value of 64
>> bytes which is aligned to RTE_MBUF_PRIV_ALIGN(8 bytes).
>>
>> Here is our snippet of our code base:
>> #define MBUF_CACHE_SIZE   *512 *
>> #define MBUF_PRIV_SIZE        *64*
>> #define FRAME_LEN             *9216*
>> #define NO_OF_MBUF
>> *52736 *
>>
>> /*define in rte_config.h */
>> #define RTE_PKTMBUF_HEADROOM 128
>>
>> pool = rte_pktmbuf_pool_create(name, num_mbufs,
>>                                    MBUF_CACHE_SIZE, MBUF_PRIV_SIZE,
>>                                    frame_len + RTE_PKTMBUF_HEADROOM,
>>                                    rte_socket_id());
>>
>> The above check was failed with EINVAL
>>
>> Could you please suggest if there is any known issue or limitation w.r.t
>> 19.11
>>
>> Thanks,
>> Kamaraj
>>
>>
>>
>>

      reply	other threads:[~2020-12-11 18:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-08  7:29 Kamaraj P
2020-12-10 18:17 ` Kamaraj P
2020-12-11 18:21   ` Kamaraj P [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAG8PAapffEdj3nZJSSH7Nt+CaS0OuUcZ=7ZrQ150=Sjfc5tADw@mail.gmail.com' \
    --to=pkamaraj@gmail.com \
    --cc=dev@dpdk.org \
    --cc=npenumar@cisco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).