[dpdk-dev] vfio: failed to select IOMMU type

Burakov, Anatoly anatoly.burakov at intel.com
Tue Apr 4 17:52:52 CEST 2017


Hi Andrew,

> I think a key to the main problem is the same IOMMU group used for both PCI functions.
> It tries to set IOMMU type using the same file descriptor twice. The second set is dummy, since the same value is set, but still fails, I guess, because it is already in use.
> See logs with debug enabled and few extra logs below:

Yes you're right. Specifically, eal_vfio.c:vfio_setup_device() at line  311 (where we check for number of groups) - the code always assumes that one
active group means we've just initialized a new group, which may not necessarily be the case if there's more than one device per group.

Alejandro, please correct me if I'm wrong, but I think this raises another issue: vfio_release_device() seems to attempt to close group fd unconditionally,
which is probably a bad idea if there are more than one device per group.

Would you be so kind to come up with a patch to fix this oversight, or should I do it? :)

Thanks,
Anatoly


More information about the dev mailing list