On 04/11/2013 07:56:59 AM, Joerg Roedel wrote:
On Tue, Apr 09, 2013 at 01:22:15AM +0000, Yoder Stuart-B08248 wrote:
> > What happens if a normal unmap call is done on the MSI iova? Do
we
> > need a separate unmap?
>
> I was thinking a normal unmap on an MSI windows would be an
error...but
> I'm not set on that. I put the msi unmap there to make things
symmetric,
> a normal unmap would work as well...and then we could drop the msi
unmap.
Hmm, this API semantic isn't very clean. When you explicitly map the
MSI
banks a clean API would also allow to unmap them. But that is not
possible in your design because the kernel is responsible for mapping
MSIs and you can't unmap a MSI bank that is in use by the kernel.
Why is it not possible to unmap them? Once they've been mapped,
they're just like any other IOMMU mapping. If the user breaks MSI for
their own devices by unmapping the MSI page, that's their problem.
So since the kernel owns the MSI setup anyways it should also take
care
of mapping the MSI banks. What is the reason to not let the kernel
allocate the MSI banks top-down from the end of the DMA window space?
It's less flexible, and possibly more complicated.
-Scott
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html