Hi Alex, > On 01/23/2016 04:23 AM, Alex Williamson wrote: > > Using iommu_present() to determine whether an IOMMU group is real or > > fake has some problems. First, apparently Power systems don't > > register an IOMMU on the device bus, so the groups and containers get > > marked as noiommu and then won't bind to their actual IOMMU driver. > > Second, I expect we'll run into the same issue as we try to support > > vGPUs through vfio, since they're likely to emulate this behavior of > > creating an IOMMU group on a virtual device and then providing a vfio > > IOMMU backend tailored to the sort of isolation they provide, which > > won't necessarily be fully compatible with the IOMMU API. > > > > The solution here is to use the existing iommudata interface to IOMMU > > groups, which allows us to easily identify the fake groups we've > > created for noiommu purposes. The iommudata we set is purely > > arbitrary since we're only comparing the address, so we use the > > address of the noiommu switch itself. > > > > Reported-by: Alexey Kardashevskiy <aik at ozlabs.ru> > > Fixes: 03a76b60f8ba ("vfio: Include No-IOMMU mode") > > Signed-off-by: Alex Williamson <alex.williamson at redhat.com> > > > > Reviewed-by: Alexey Kardashevskiy <aik at ozlabs.ru> > Tested-by: Alexey Kardashevskiy <aik at ozlabs.ru>
Tested bringing the NIC's up, encountered no issues. Curious if it also works for Santosh (CC'd) as he's one of the intended users of the No-IOMMU functionality, but otherwise seems to work. Thanks, Anatoly