DPDK patches and discussions
 help / color / mirror / Atom feed
From: Kyle Larose <eomereadig@gmail.com>
To: Younghwan Go <yhwan@ndsl.kaist.edu>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] no hugepage with UIO poll-mode driver
Date: Thu, 26 Nov 2015 09:37:18 -0500	[thread overview]
Message-ID: <CAMFWN9=YV83tGy9PNcusnTU9UZML4HCh8KEhm56oCe9GsTXqCw@mail.gmail.com> (raw)
In-Reply-To: <56568EC7.6010905@ndsl.kaist.edu>

On Wed, Nov 25, 2015 at 11:47 PM, Younghwan Go <yhwan@ndsl.kaist.edu> wrote:
> Hello,
>
> Thank you all for helping us understand on issues with no hugepage option.
>
> As Konstantin mentioned at the end, I tried using VFIO module instead of IGB
> UIO module. I enabled all necessary parameters (IOMMU, virtualization,
> vfio-pci, VFIO permission) and ran my code with no hugepage option.
>
> At first, it seemed to receive packets fine, but after a while, it stopped
> receiving packets. I could temporarily remove this issue by not calling
> rte_eth_tx_burst(). Also, when I looked at the received packets, they all
> contained 0s instead of actual data.

In my experience, if there's all zeroes it's because the NIC didn't
actually write any packet data. In my case, to prove that, I
initialized the mbuf data to a well-known pattern, and saw that after
packet reception, the mbuf data was still that pattern, not the data I
actually sent in the packet. From my analysis, I concluded that the
ixgbe NIC was failing to actually write the data to memory because the
corresponding PCI transaction was failing. The PCI transaction failed
because something was going wrong with how IOMMU was mapping my VM's
guest physical address to the host's physical address, and how that
interacted with the PCI tree.

I don't know if that's what you're seeing. However, it may be that the
physical address being given to the NIC for the mbuf is invalid, or
cannot be properly mapped to a real physical address if you're using
IOMMU.

When this happens, can you check the pcie AER registers on the NIC, if
they exist? Maybe they'll show that something happened.

Thanks,

Kyle

> Was there anything that I missed in
> running with VFIO? I'm curious if no hugepage with no hugepage option was
> confirmed to run with VFIO.
>
> Thank you,
> Younghwan
>
> 2015-11-25 오후 11:12에 Ananyev, Konstantin 이(가) 쓴 글:
>

      reply	other threads:[~2015-11-26 14:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-25  5:45 Younghwan Go
2015-11-25  6:19 ` Tan, Jianfeng
2015-11-25  6:39   ` Younghwan Go
2015-11-25 10:08     ` Bruce Richardson
2015-11-25 10:23       ` Thomas Monjalon
2015-11-25 11:00         ` Bruce Richardson
2015-11-25 11:03           ` Thomas Monjalon
2015-11-25 12:02             ` Bruce Richardson
2015-11-25 13:22               ` Thomas Monjalon
2015-11-25 13:44                 ` Sergio Gonzalez Monroy
2015-11-25 14:12                   ` Ananyev, Konstantin
2015-11-26  4:47                     ` Younghwan Go
2015-11-26 14:37                       ` Kyle Larose [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='CAMFWN9=YV83tGy9PNcusnTU9UZML4HCh8KEhm56oCe9GsTXqCw@mail.gmail.com' \
    --to=eomereadig@gmail.com \
    --cc=dev@dpdk.org \
    --cc=yhwan@ndsl.kaist.edu \
    /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).