lkml.org 
[lkml]   [2008]   [Sep]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 29 Sep 2008 15:26:47 +0200
FromJoerg Roedel <>
SubjectRe: [PATCH 0/9][RFC] stackable dma_ops for x86
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.

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


\
 
 \ /
  Last update: 2008-09-29 15:29    [from the cache]
©2003-2008