DPDK usage discussions
 help / color / mirror / Atom feed
From: "Wiles, Keith" <keith.wiles@intel.com>
To: 황규민 <hkm73560@gmail.com>
Cc: "users@dpdk.org" <users@dpdk.org>
Subject: Re: [dpdk-users] rte_rxmbuf_alloc() fails
Date: Wed, 7 Dec 2016 14:16:52 +0000	[thread overview]
Message-ID: <80F579B1-9F07-4221-97FF-0C97258EBD9E@intel.com> (raw)
In-Reply-To: <CACuKTmN4-wu91waTw1BwbTBd0Yogdz0bvt4J1Qao4nqGgANw9w@mail.gmail.com>


> On Dec 7, 2016, at 3:44 AM, 황규민 <hkm73560@gmail.com> wrote:
> 
> Hi,
> 
> When I run my application DPDK doesn't receive any packets after about 3
> minutes.
> So I figured out why rte_rx_burst() returned 0 and the reason is
> rte_rxmbuf_alloc() failure. rte_rxmbuf_alloc() == NULL.
> I printed some statistics and it showed that the prod's head and cons' head
> are same.
> What does this mean?
> And rte_mempool_empty and rte_mempool_full always failed.

To me the basic problem for mbuf allocation fails is the mbufs are not being freed and there are many reasons for this to happen.

Here are a few I have hit:
- The number of mbufs created is smaller then the TX flush threshold in the PMD(s), which does not allow any packets to be freed until the threshold is hit.
- The next one I have see is not checking the rte_eth_tx_burst() return code, which is the number of mbufs that were able to be placed on the TX ring. Then the application just blindly reuses the mbuf array pointer again not realizing some mbufs are still in the list creating a mbuf leak.

DPDK is very well tested so I would not expect any of the currently released code to have any problems or bugs in not freeing mbufs.

> 
> Thanks.

Regards,
Keith


  reply	other threads:[~2016-12-07 14:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-07  9:44 황규민
2016-12-07 14:16 ` Wiles, Keith [this message]
2016-12-08  5:40   ` 황규민

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=80F579B1-9F07-4221-97FF-0C97258EBD9E@intel.com \
    --to=keith.wiles@intel.com \
    --cc=hkm73560@gmail.com \
    --cc=users@dpdk.org \
    /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).