Messages in this thread | | | Date | Wed, 10 Sep 2008 14:48:22 +0200 | From | Joerg Roedel <> | Subject | Re: [PATCH] x86: avoid unnecessary low zone allocation in AMD IOMMU's alloc_coherent |
| |
On Wed, Sep 10, 2008 at 09:38:11PM +0900, FUJITA Tomonori wrote: > On Wed, 10 Sep 2008 14:03:10 +0200 > Joerg Roedel <joerg.roedel@amd.com> wrote: > > It needs a fix anyway and the > > right solution here is to fall back to one of the software iommu > > implementations. The stackable dma_ops patches I have currently in work > > will do exactly that. > > I'm not sure you need the stackable dma_ops support. Calgary IOMMU had > the same problem and already solved it with dma_ops-per-device option.
We need stackable dma_ops anyway for paravirt IOMMU support in KVM. And they will fix this issue too.
> > These flags are already removed in the dma_alloc_coherent function which > > calls this one. Further I think in the case of a remapping IOMMU like > > Not true about x86/tip/iommu. dma_alloc_coherent in dma-mapping.h does > that so that swiotlb and pci-nommu don't need the gfp hack. Clearing > the gfp flags is much simpler than setting up the flags correctly > mainly because of the fallback device, setting up the flags is really > difficult.
Yes, dma_alloc_coherent in dma-mapping.h clears the flags. And this function also calls ops->alloc_coherent which points to the AMD IOMMUs alloc_coherent function if the driver is in place.
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
| |