Messages in this thread | | | Date | Wed, 10 Sep 2008 15:53:47 +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 10:37:45PM +0900, FUJITA Tomonori wrote: > On Wed, 10 Sep 2008 15:10:32 +0200 > Joerg Roedel <joerg.roedel@amd.com> wrote: > > Can't we simply make the gfp hacks depend on > > dma_ops->is_phys and avoid further gfp hacks in the hardware iommu > > implementations? > > I thought about it but adding a new dma_ops->we_don't_want_gfp_flag > hook doesn't make the code simpler much. Currently, we have the gfp > setting hack in just one place. It's not bad. Adding such new hook > means adding more lines than we can remove.
The is_phys flas is already in place and its meaning is "the dma_ops return bus addresses equal to physical addresses". This is exactly the case when we need the gfp hacks. So I don't see a problem in just skipping the gfp rewrite if is_phys is zero. I don't see a point in adding gfp flags in dma_alloc_coherent and remove them again dma_ops->alloc_coherent code. Specially in this case where we already know in dma_alloc_coherent if we really need the flag rewrite.
> Yeah, I was against your patch to adding the gfp setting hack to > swiotlb but it's because gfp is kinda architecture specific stuff and > swiotlb should not. It's the bad design IMO. It's ok for me that > architecture specific IOMMUs can do the architecture specific stuff > (and it's about just clearing the gfp flag).
The generic swiotlb code already contained a gfp hack for IA64 and I added another one for x86 which is ok in my opinion. But the #ifdef was ugly, I agree with that now :-) Your solution of removing the flag hacks from the generic code completly was the other possible way.
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
| |