Re: [PATCH 0/9][RFC] stackable dma_ops for x86

From: FUJITA Tomonori
Date: Mon Sep 29 2008 - 09:19:20 EST


On Sun, 28 Sep 2008 20:49:26 +0200
Joerg Roedel <joro@xxxxxxxxxx> 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 <joerg.roedel@xxxxxxx> 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.


> can handle these cases in a generic way without hacking it into the
> hardware drivers (these hacks are also in the AMD IOMMU code and I plan
> to remove them in the case this patchset will be accepted).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/