From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey Kardashevskiy Subject: Re: [PATCH] vfio/noiommu: Don't use iommu_present() to track fake groups Date: Mon, 25 Jan 2016 11:20:24 +1100 Message-ID: <56A56A48.9090405@ozlabs.ru> References: <20160122172159.5655.55830.stgit@gimli.home> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r; format=flowed Content-Transfer-Encoding: 7bit Cc: anatoly.burakov@intel.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, ferruh.yigit@intel.com, dev@dpdk.org To: Alex Williamson Return-path: In-Reply-To: <20160122172159.5655.55830.stgit@gimli.home> Sender: kvm-owner@vger.kernel.org List-Id: dev.dpdk.org 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 > Fixes: 03a76b60f8ba ("vfio: Include No-IOMMU mode") > Signed-off-by: Alex Williamson Reviewed-by: Alexey Kardashevskiy Tested-by: Alexey Kardashevskiy Thanks! -- Alexey