[dpdk-dev] pci device access from dpdk secondary process with igb_uio
vijay mohan
vijay1054 at gmail.com
Thu Jan 2 19:58:14 CET 2020
On Thu, 26 Dec 2019 at 16:58, vijay mohan <vijay1054 at gmail.com> wrote:
>
> 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;
> }
Hi Ferruh Yigit/John Griffin,
I am trying to use QAT crypto VF device attached to igb_uio.ko with
secondary process and has observed following errors while setting up
the queues due to pci_dev->mem_resource[0].addr check from
qat_qp_setup. mem_resource[0].addr happens to be NULL when the device
is presented to dpdk through igb_uio but works fine with vfio_pci.ko.
Could you please let me know if the fix mentioned above is sufficient
for the device to work with secondary process.
CRYPTODEV: Initialisation parameters - name: BDF_qat_sym,socket id: 0,
max queue pairs: 0
qat_sym_dev_create(): Created QAT SYM device BDF_qat_sym as cryptodev instance 0
qat_comp_dev_create(): Creating QAT COMP device BDF_qat_comp
qat_comp_dev_create(): Created QAT COMP device BDF_qat_comp as
compressdev instance 0
Dev config
Setting up queues
qat_qp_setup(): Setup qp 0 on qat pci device 0 gen 2
qat_qp_setup(): Could not find VF config space (UIO driver attached?).
Crypto device queue pair init failed
Thanks,
Vijay
More information about the dev
mailing list