[dpdk-dev] DMAR errors when running testpmd on kernel >= 3.15

didier.pallard didier.pallard at 6wind.com
Tue Jul 22 17:25:08 CEST 2014


Hello,

I am testing testpmd on recent kernels (>= 3.15) and i have an IOMMU 
problem (there are several commits around IOMMU in v3.15, they may be 
related with this problem):

Hardware:
Platform: Intel S2600IP
CPU: Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
BIOS version: SE5C600.86B.02.03.0003.041920141333
NICs:
     05:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
     05:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
     07:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
     07:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)

Software:
Linux distribution: Fedora 20
Linux kernel: >= 3.15 (tested with 3.15.6-200 fc20 and 3.16.0-rc6 vanilla)
Linux boot line: BOOT_IMAGE=/boot/vmlinuz-3.15.6-200.fc20.x86_64 
root=/dev/sda5 console=tty1 console=ttyS0,115200n8 intel_iommu=on iommu=pt
DPDK version: 1.7.0 (also tested on master, with same result)

Test: I run the following commands to start the test:
echo 1024 >  /proc/sys/vm/nr_hugepages
mount -t hugetlbfs nodev /mnt/huge
modprobe uio
insmod dpdk/build/kmod/igb_uio.ko
dpdk/tools/dpdk_nic_bind.py --bind=igb_uio 05:00.0 05:00.1 07:00.0 07:00.1
dpdk/build/app/testpmd  --huge-dir /mnt/huge -n 4 -c 0x0001fe0001ff 
--socket-mem=512,0 -- --socket-num=0 -i --rxq=4 --txq=16 --portmask=0xf 
--rxd=128 --rxfreet=32 --rxpt=8 --rxht=8 --rxwt=0 --txd=512 --txfreet=32 
--txpt=32 --txht=0  --txwt=0 --txrst=32 --txqflags=0xF00 --burst=32 
--mbcache=250 --total-num-mbufs=64000 --coremask=0x0001fe0001fe

When i start the traffic, i have the following messages displayed on screen:
[ 1819.770528] dmar: DMAR:[DMA Read] Request device [05:00.0] fault addr 
3c4160000
[ 1819.770528] DMAR:[fault reason 02] Present bit in context entry is clear
[ 1819.786243] dmar: DMAR:[DMA Read] Request device [07:00.1] fault addr 
3ce399000
[ 1819.786243] DMAR:[fault reason 02] Present bit in context entry is clear
[ 1819.801955] dmar: DMAR:[DMA Read] Request device [05:00.1] fault addr 
3ce119000
[ 1819.801955] DMAR:[fault reason 02] Present bit in context entry is clear
[ 1819.817668] dmar: DMAR:[DMA Read] Request device [07:00.0] fault addr 
3ce269000
[ 1819.817668] DMAR:[fault reason 02] Present bit in context entry is clear

and nothing flows through the testpmd ports.

The problem does not appear:
   - with kernel older than 3.15
   - if interfaces are bound using vfio-pci instead of igb_uio
   - if iommu is disabled in bootline (remove intel_iommu=on iommu=pt 
from kernel boot line)

Sometimes, only two ports instead of four have DMAR problems, the two 
others forward packets normally.

Does someone know what may happen?

thanks
didier




More information about the dev mailing list