[dpdk-dev] pci device access from dpdk secondary process with igb_uio

vijay mohan vijay1054 at gmail.com
Fri Dec 27 01:58:39 CET 2019


Hi All,
I am trying to use pci vf device with secondary process in a multiple
process mode and finding pci_dev->mem_resource[0].addr to be NULL. This
happens when the pci device is attached to igb_uio.ko but with vfio_pci it
works fine.

Looking at the pci device initialization part for secondary process, when
device is presented through igb_uio, (in pci_uio_map_secondary), it doesn't
seems to update pci_dev->mem_resource[X].addr. For vfio-pci, it updates the
addresses in pci_vfio_map_resource_secondary. With the following patch, i
am able to use the device from secondary process but would like to know if
I am missing something.

diff --git a/drivers/bus/pci/pci_common_uio.c
b/drivers/bus/pci/pci_common_uio.c
index 7ea73db..f4dca9d 100644
--- a/drivers/bus/pci/pci_common_uio.c
+++ b/drivers/bus/pci/pci_common_uio.c
@@ -70,6 +70,7 @@
                                }
                                return -1;
                        }
+                       dev->mem_resource[i].addr = mapaddr;
                }
                return 0;
        }


More information about the dev mailing list