On Mon, 29 Sep 2008 15:26:47 +0200 Joerg Roedel <[EMAIL PROTECTED]> wrote:
> On Mon, Sep 29, 2008 at 10:16:39PM +0900, FUJITA Tomonori wrote: > > On Sun, 28 Sep 2008 20:49:26 +0200 > > Joerg Roedel <[EMAIL PROTECTED]> wrote: > > > > > On Sun, Sep 28, 2008 at 11:21:26PM +0900, FUJITA Tomonori wrote: > > > > On Mon, 22 Sep 2008 20:21:12 +0200 > > > > Joerg Roedel <[EMAIL PROTECTED]> wrote: > > > > > > > > > Hi, > > > > > > > > > > this patch series implements stackable dma_ops on x86. This is useful > > > > > to > > > > > be able to fall back to a different dma_ops implementation if one can > > > > > not handle a particular device (as necessary for example with > > > > > paravirtualized device passthrough or if a hardware IOMMU only > > > > > handles a > > > > > subset of available devices). > > > > > > > > We already handle the latter. This patchset is more flexible but > > > > seems to incur more overheads. > > > > > > > > This feature will be used for only paravirtualized device passthrough? > > > > If so, I feel that there is more simpler (and specific) solutions for > > > > it. > > > > > > Its not only for device passthrough. It handles also the cases where a > > > hardware IOMMU does not handle all devices in the system (like in some > > > Calgary systems but also possible with AMD IOMMU). With this patchset we > > > > I know that. As I wrote in the previous mail, we already solved that > > problem with per-device-dma-ops. > > > > My question is what unsolved problems this patchset can fix? > > > > > > This patchset is named "stackable dma_ops" but it's different from > > what we discussed as "stackable dma_ops". This patchset provides > > IOMMUs a generic mechanism to set up "stackable dma_ops". But this > > patchset doesn't solve the problem that a hardware IOMMU does not > > handle all devices (it was already solved with per-device-dma-ops). > > > > If paravirtualized device passthrough still needs to call multiple > > dma_ops, then this patchset doesn't solve that issue. > > Ok, the name "stackable" is misleading and was a bad choice. I will > rename it to "multiplexing". This should make it more clear what it is. > Like you pointed out, the problems are solved with per-device dma_ops, > but in the current implementation it needs special hacks in the IOMMU > drivers to use these per-device dma_ops. > I see this patchset as a continuation of the per-device dma_ops idea. It > moves the per-device handling out of the specific drivers to a common > place. So we can avoid or remove special hacks in the IOMMU drivers. Basically, I'm not against this patchset. It simplify Calgary and AMD IOMMUs code to set up per-device-dma-ops (though it makes dma_ops a bit complicated). But it doesn't solve any problems including the paravirtualized device passthrough. When I wrote per-device-dma-ops, I expected that KVM people want more changes (such as stackable dma_ops) to dma_ops for the paravirtualized device passthrough. I'd like to hear what they want first. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
