Re: ZONE_DMA

Jesse Barnes
2006-09-22T17:43:58Z

On Friday, September 22, 2006 10:21 am, Jesse Barnes wrote:
> If you have a decent enough IOMMU both or either could cover all of
> memory. In the case of an Altix, the IOMMU is 32 bit capable, so it
> would make sense for ZONE_DMA32 to contain all of memory...
>
> But anyway, I agree with your broader point that we really need a
> different allocator for this stuff. It has to be arch specific in some
> way though, so we can take into account the advantages IOMMUs provide.
> I think jejb said he'd come up with a sample implementation a couple of
> years ago... :)
>
> From a portability and definition perspective, I'd contend that ZONE_DMA
> and ZONE_DMA32 are both broken. Only ZONE_NORMAL and ZONE_HIGHMEM have
> sane definitions it seems.

Ok and right after I sent this my brain returned from vacation and I
remembered jejb's DMA allocation API. It's powerful enough to cover most
driver use cases I think (users of GFP_DMA should probably be converted),
but for example block layer bounce buffering might need a different
interface as I see you've proposed in another mail.

Hm... s390 driver seem to like GFP_DMA a lot... and there are a few
remaining uses in drivers/scsi... and then of course there are the OSS
drivers...

Jesse