From: Joerg Roedel <joerg.roedel@amd.com>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: joro@8bytes.org, linux-kernel@vger.kernel.org,
kvm@vger.kernel.org, iommu@lists.linux-foundation.org,
dwmw2@infradead.org, muli@il.ibm.com, amit.shah@qumranet.com,
mingo@redhat.com
Subject: Re: [PATCH 0/9][RFC] stackable dma_ops for x86
Date: Mon, 29 Sep 2008 15:51:27 +0200 [thread overview]
Message-ID: <20080929135127.GM27928@amd.com> (raw)
In-Reply-To: <20080929224246K.fujita.tomonori@lab.ntt.co.jp>
On Mon, Sep 29, 2008 at 10:42:37PM +0900, FUJITA Tomonori wrote:
> On Mon, 29 Sep 2008 15:26:47 +0200
> Joerg Roedel <joerg.roedel@amd.com> 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 <joro@8bytes.org> 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@amd.com> 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).
Yes. But mind that this patchset adds complexity to one point (at
dma_ops initialization) while we can avoid and remove it
at many other places (in the dma_ops drivers).
> 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.
Sure. Therefore this patchset is RFC and I cc'ed them.
Joerg
--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
prev parent reply other threads:[~2008-09-29 13:51 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-22 18:21 [PATCH 0/9][RFC] stackable dma_ops for x86 Joerg Roedel
2008-09-22 18:21 ` [PATCH 1/9] x86/iommu: add necessary types for stackable dma_ops Joerg Roedel
2008-09-22 18:21 ` [PATCH 2/9] x86/iommu: add stackable dma_ops registration interface Joerg Roedel
2008-09-22 18:21 ` [PATCH 3/9] x86/iommu: change PCI-NOMMU to use dma_ops register interface Joerg Roedel
2008-09-22 18:21 ` [PATCH 4/9] x86/iommu: change SWIOTLB " Joerg Roedel
2008-09-22 18:21 ` [PATCH 5/9] x86/iommu: change GART " Joerg Roedel
2008-09-22 18:21 ` [PATCH 6/9] x86/iommu: change Calgary " Joerg Roedel
2008-09-23 14:37 ` Muli Ben-Yehuda
2008-09-30 11:10 ` Ingo Molnar
2008-09-30 11:58 ` Joerg Roedel
2008-09-30 13:30 ` Muli Ben-Yehuda
2008-09-30 15:38 ` Ingo Molnar
2008-09-30 18:33 ` Muli Ben-Yehuda
2008-09-22 18:21 ` [PATCH 7/9] x86/iommu: change AMD IOMMU " Joerg Roedel
2008-09-22 18:21 ` [PATCH 8/9] x86/iommu: change Intel " Joerg Roedel
2008-09-22 18:21 ` [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops Joerg Roedel
2008-09-26 7:56 ` Amit Shah
2008-09-26 8:59 ` Joerg Roedel
2008-09-26 10:49 ` Amit Shah
2008-09-26 12:32 ` Joerg Roedel
2008-09-27 0:13 ` Muli Ben-Yehuda
2008-09-28 19:13 ` Joerg Roedel
2008-09-29 9:30 ` Muli Ben-Yehuda
2008-09-29 9:36 ` Joerg Roedel
2008-09-29 13:16 ` FUJITA Tomonori
2008-09-29 13:33 ` Joerg Roedel
2008-09-30 19:44 ` Muli Ben-Yehuda
2008-10-01 7:19 ` Joerg Roedel
2008-10-03 8:38 ` Muli Ben-Yehuda
2008-09-26 11:00 ` Joerg Roedel
2008-09-28 14:21 ` FUJITA Tomonori
2008-09-28 18:44 ` Joerg Roedel
2008-09-29 9:25 ` Muli Ben-Yehuda
2008-09-29 9:29 ` Joerg Roedel
2008-09-22 18:36 ` [PATCH 0/9][RFC] stackable dma_ops for x86 Arjan van de Ven
2008-09-22 18:39 ` Joerg Roedel
2008-09-23 2:41 ` Jeremy Fitzhardinge
2008-09-23 2:50 ` Arjan van de Ven
2008-09-28 14:21 ` FUJITA Tomonori
2008-09-28 18:49 ` Joerg Roedel
2008-09-29 13:16 ` FUJITA Tomonori
2008-09-29 13:26 ` Joerg Roedel
2008-09-29 13:42 ` FUJITA Tomonori
2008-09-29 13:51 ` Joerg Roedel [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080929135127.GM27928@amd.com \
--to=joerg.roedel@amd.com \
--cc=amit.shah@qumranet.com \
--cc=dwmw2@infradead.org \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=muli@il.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).