From: Manoj Viswanath <manoj.viswanath-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: dev-VfR2kkLFssw@public.gmane.org
Subject: Ports not detected by IGB_UIO in DPDK 1.7.1 in QEMU_KVM environment
Date: Wed, 5 Nov 2014 15:28:13 +0530 [thread overview]
Message-ID: <CAC1b25pX3R2y_Cjp5UAdL6Bozrf01OkG6U6LGQvJ2aUTDXGvSA@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1607 bytes --]
Hi,
I have a DPDK application running on QEMU-KVM environment using DPDK 1.6.0.
I am trying to port the same to DPDK version 1.7.1.
I am using Virt-manager GUI to assign e1000 emulated port to the VM. This
works fine in DPDK 1.6.0. The device is identified by IGB_UIO and
initialized by my application as expected.
However in case of DPDK 1.7.1, the emulated e1000 devices do not seem to be
recognized.
Following is my analysis:
1. The API pci_get_uio_dev() is returning ERROR. This is called from
pci_uio_map_resource() in the flow of PCI PROBE [rte_eal_pci_probe()].
2. Due to this, the PCI device is not getting mapped to the correct driver
(EM
Driver
).
3. The reason for the error in [1] appears to be that "uio" sub-directory
doesn't seem to be correctly created for interfaces assigned to this VM.
4. Upon further analysis i found that IGB_UIO probe function
["igbuio_pci_probe()"] is not getting triggered indicating the port has *not
been assigned* to the IGB_UIO.
Kindly refer to the attachments:-
- "Output of sys-bus-pci-devices" - indicating "uio" subdirectory not
created for PCI devices in case of DPDK 1.7.1
- "Output of lspci -v" - indicating device not bound to driver in case of
DPDK 1.7.1
- IGB_UIO init log snippet - indicating PCI devices not detected and
initialized by IGB_UIO in case of DPDK 1.7.1
- CONFIG file used for DPDK compilation
Not sure what has changed between 1.6.0 and 1.7.1 which is impacting this.
Could someone throw light in this regard as to what i may be missing ?
Thanks in advance.
Regards,
Manoj
[-- Attachment #2: IGB_UIO INIT Logs.txt --]
[-- Type: text/plain, Size: 1559 bytes --]
----------------------------------------------
[A] IGB UIO INIT LOGS - VM running DPDK 1.6.0
----------------------------------------------
Oct 20 05:14:31 localhost kernel: Use MSIX interrupt by default
Oct 20 05:14:31 localhost kernel: Use MSIX interrupt by default
Oct 20 05:14:31 localhost kernel: igb_uio 0000:00:04.0: setting latency timer to
64
Oct 20 05:14:31 localhost kernel: fail to enable pci msix, or not enough msix en
tries
Oct 20 05:14:31 localhost kernel: fail to enable pci msix, or not enough msix en
tries
Oct 20 05:14:31 localhost kernel: uio device registered with irq b -------------------------------------> PCI device bound to driver
Oct 20 05:14:31 localhost kernel: uio device registered with irq b
Oct 20 05:14:31 localhost kernel: igb_uio 0000:00:08.0: setting latency timer to
64
Oct 20 05:14:31 localhost kernel: fail to enable pci msix, or not enough msix en
tries
Oct 20 05:14:31 localhost kernel: fail to enable pci msix, or not enough msix en
tries
Oct 20 05:14:31 localhost kernel: uio device registered with irq b -------------------------------------> PCI device bound to driver
Oct 20 05:14:31 localhost kernel: uio device registered with irq b
----------------------------------------------
[B] IGB UIO INIT LOGS - VM running DPDK 1.7.1
----------------------------------------------
Oct 20 05:10:40 localhost kernel: igb_uio: Use MSIX interrupt by default
Oct 20 05:10:40 localhost kernel: igb_uio: Use MSIX interrupt by default
=====> No output for PCI initialization by IGB_UIO
[-- Attachment #3: Output of lspci -v.txt --]
[-- Type: text/plain, Size: 1013 bytes --]
-------------------------
[VM-2 running DPDK 1.6.0]
-------------------------
00:08.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controll
er (rev 03)
Subsystem: Red Hat, Inc Device 1100
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at f20a0000 (32-bit, non-prefetchable) [size=128K]
I/O ports at c140 [size=64]
Expansion ROM at f20c0000 [disabled] [size=128K]
Kernel driver in use: igb_uio=================> Driver binding succesfull
Kernel modules: igb_uio ==================> Driver binding succesfull
-------------------------
[VM-1 running DPDK 1.7.1]
-------------------------
00:04.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controll
er (rev 03)
Subsystem: Red Hat, Inc Device 1100
Flags: fast devsel, IRQ 11
Memory at f2040000 (32-bit, non-prefetchable) [size=128K]
I/O ports at c080 [size=64]
Expansion ROM at f2060000 [disabled] [size=128K]
===> Missing driver binding info
[-- Attachment #4: Output of sys-bus-pci-devices.txt --]
[-- Type: text/plain, Size: 4777 bytes --]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ On VM-1 running DPDK 1.7.1 @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
bash-4.2# lspci | grep 82540EM
00:04.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
00:05.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
##SYS-BUS
bash-4.2# ls /sys/bus/pci/devices/
0000:00:00.0 0000:00:01.2 0000:00:03.0 0000:00:06.0
0000:00:01.0 0000:00:01.3 0000:00:04.0 0000:00:07.0
0000:00:01.1 0000:00:02.0 0000:00:05.0 0000:00:08.0
bash-4.2# ls /sys/bus/pci/devices/0000\:00\:04.0/
broken_parity_status local_cpulist resource0
class local_cpus resource1
config modalias rom
consistent_dma_mask_bits msi_bus subsystem/
device numa_node subsystem_device
dma_mask_bits power/ subsystem_vendor
enable remove uevent
firmware_node/ rescan vendor
irq resource
bash-4.2# ls /sys/bus/pci/devices/0000\:00\:04.0/uio
ls: cannot access /sys/bus/pci/devices/0000:00:04.0/uio: No such file or directory ============================> No directory
bash-4.2# ls /sys/bus/pci/devices/0000\:00\:05.0/
broken_parity_status local_cpulist resource0
class local_cpus resource1
config modalias rom
consistent_dma_mask_bits msi_bus subsystem/
device numa_node subsystem_device
dma_mask_bits power/ subsystem_vendor
enable remove uevent
firmware_node/ rescan vendor
irq resource
bash-4.2# ls /sys/bus/pci/devices/0000\:00\:05.0/uio
ls: cannot access /sys/bus/pci/devices/0000:00:05.0/uio: No such file or directory ============================> No directory
bash-4.2#
##SYS-DEVICES
bash-4.2# ls /sys/devices/pci0000\:00/
0000:00:00.0/ 0000:00:01.3/ 0000:00:05.0/ firmware_node/
0000:00:01.0/ 0000:00:02.0/ 0000:00:06.0/ pci_bus/
0000:00:01.1/ 0000:00:03.0/ 0000:00:07.0/ power/
0000:00:01.2/ 0000:00:04.0/ 0000:00:08.0/ uevent
bash-4.2# ls /sys/devices/pci0000\:00/0000:00:04.0/uio
ls: cannot access /sys/devices/pci0000:00/0000:00:04.0/uio: No such file or directory ============================> No directory
bash-4.2# ls /sys/devices/pci0000\:00/0000:00:04.0/
broken_parity_status enable msi_bus resource0 uevent
class firmware_node numa_node resource1 vendor
config irq power rom
consistent_dma_mask_bits local_cpulist remove subsystem
device local_cpus rescan subsystem_device
dma_mask_bits modalias resource subsystem_vendor
bash-4.2#
bash-4.2# ls /sys/devices/pci0000\:00/0000:00:05.0/uio
ls: cannot access /sys/devices/pci0000:00/0000:00:05.0/uio: No such file or directory ============================> No directory
bash-4.2# ls /sys/devices/pci0000\:00/0000:00:05.0/
broken_parity_status enable msi_bus resource0 uevent
class firmware_node numa_node resource1 vendor
config irq power rom
consistent_dma_mask_bits local_cpulist remove subsystem
device local_cpus rescan subsystem_device
dma_mask_bits modalias resource subsystem_vendor
--------------------------------------------------------------------------------------------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ On VM-2 running DPDK 1.6.0 @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
bash-4.2# lspci | grep 82540EM
00:04.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
00:08.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
##SYS-BUS
bash-4.2# /sys/bus/pci/devices/0000\:00\:04.0/uio/uio0/ ============================> Directory created correctly
device/ maps/ portio/ power/ subsystem/
bash-4.2# ls /sys/bus/pci/devices/0000\:00\:04.0/uio/uio0/
dev device event maps name portio power subsystem uevent version
bash-4.2# ls /sys/bus/pci/devices/0000\:00\:08.0/uio/uio1/ ============================> Directory created correctly
dev device event maps name portio power subsystem uevent version
##SYS-DEVICES
bash-4.2# ls /sys/devices/pci0000:00/0000:00:04.0/uio/uio0
dev device event maps name portio power subsystem uevent version
bash-4.2#
next reply other threads:[~2014-11-05 9:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-05 9:58 Manoj Viswanath [this message]
[not found] ` <CAC1b25pX3R2y_Cjp5UAdL6Bozrf01OkG6U6LGQvJ2aUTDXGvSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-05 10:12 ` Ports not detected by IGB_UIO in DPDK 1.7.1 in QEMU_KVM environment Bruce Richardson
2014-11-07 15:01 ` Manoj Viswanath
[not found] ` <CAC1b25pY-wbEeVicBEVhYChOqjWXNRHO51wQwc8q4uo28DGO2g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-07 15:30 ` Bruce Richardson
2014-11-07 17:56 ` Manoj Viswanath
[not found] ` <CAC1b25rnhsG6njQ3uy3xsCOyXrCHxDZeKqdsPRZ4bdBvK+8caA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-10 10:58 ` Bruce Richardson
2014-11-11 13:48 ` Manoj Viswanath
[not found] ` <CAC1b25pK0CVmsAAKmMP-WnKt4sc07NOJ0yYh+o-NrkT8WcT74A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-12 14:12 ` Bruce Richardson
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=CAC1b25pX3R2y_Cjp5UAdL6Bozrf01OkG6U6LGQvJ2aUTDXGvSA@mail.gmail.com \
--to=manoj.viswanath-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=dev-VfR2kkLFssw@public.gmane.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).