[dpdk-dev] EAL : Input/output error on DPDK 1.7.1
Masaru Oki
m-oki at stratosphere.co.jp
Fri Oct 24 05:22:19 CEST 2014
Hi,
I got same result in VMware Workstation environment.
At least in my environment, INTX toggle check is not work with VMware
E1000 Ethernet.
Please try attached patch.
2014-10-17 3:04 GMT+09:00 Raghav K <rghvk at outlook.com>:
> Hey,
> I observe continuous burst of I/O Errors, as indicated below, with the testpmd application with DPDK 1.7.1.This seems to originate from eal_intr_process_interrupts() function. I seemed to have setup the DPDK prerequisites alright.
> Another recent post seemed to suggest moving back to 1.7.0, however I would like to persist with 1.7.1.
> Any help/pointers in resolving this would be greatly appreciated.
> Much thanks,Raghav
> root at sys6-vm6:/home/rghv/dpdk/dpdk-1.7.1/x86_64-native-linuxapp-gcc/app# ./testpmd -c 0xf -n3 -- -i --nb-cores=3 --nb-ports=2
> EAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output errorEAL: Error reading from file descriptor 21: Input/output error
> ----
> root at sys6-vm6:/home/rghv/dpdk/dpdk-1.7.1# ./tools/dpdk_nic_bind.py --status
> Network devices using DPDK-compatible driver============================================0000:02:01.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio unused=e10000000:02:02.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio unused=e1000
> Network devices using kernel driver===================================0000:02:00.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth0 drv=e1000 unused=igb_uio *Active*0000:02:03.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth3 drv=e1000 unused=igb_uio 0000:02:05.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth4 drv=e1000 unused=igb_uio 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth5 drv=e1000 unused=igb_uio
> Other network devices=====================<none>
-------------- next part --------------
diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
index d1ca26e..c46a00f 100644
--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
@@ -505,14 +505,11 @@ igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
}
/* fall back to INTX */
case RTE_INTR_MODE_LEGACY:
- if (pci_intx_mask_supported(dev)) {
- dev_dbg(&dev->dev, "using INTX");
- udev->info.irq_flags = IRQF_SHARED;
- udev->info.irq = dev->irq;
- udev->mode = RTE_INTR_MODE_LEGACY;
- break;
- }
- dev_notice(&dev->dev, "PCI INTX mask not supported\n");
+ dev_dbg(&dev->dev, "using INTX");
+ udev->info.irq_flags = IRQF_SHARED;
+ udev->info.irq = dev->irq;
+ udev->mode = RTE_INTR_MODE_LEGACY;
+ break;
/* fall back to no IRQ */
case RTE_INTR_MODE_NONE:
udev->mode = RTE_INTR_MODE_NONE;
More information about the dev
mailing list