Re: [LSF/MM TOPIC NOTES] x86 ZONE_DMA love

From: Christoph Hellwig
Date: Sat Apr 28 2018 - 04:33:56 EST


On Fri, Apr 27, 2018 at 11:36:23AM -0500, Christopher Lameter wrote:
> On Fri, 27 Apr 2018, Matthew Wilcox wrote:
>
> > Some devices have incredibly bogus hardware like 28 bit addressing
> > or 39 bit addressing. We don't have a good way to allocate memory by
> > physical address other than than saying "GFP_DMA for anything less than
> > 32, GFP_DMA32 (or GFP_KERNEL on 32-bit) for anything less than 64 bit".
> >
> > Even CMA doesn't have a "cma_alloc_phys()". Maybe that's the right place
> > to put such an allocation API.
>
> The other way out of this would be to require a IOMMU?

Which on many systems doesn't exist. And even if it exists might not
be usable.