[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