[dpdk-dev] no hugepage with UIO poll-mode driver

Kyle Larose eomereadig at gmail.com
Thu Nov 26 15:37:18 CET 2015


On Wed, Nov 25, 2015 at 11:47 PM, Younghwan Go <yhwan at 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 이(가) 쓴 글:
>


More information about the dev mailing list