Re: More thoughts on getting rid of ZONE_DMA

Christoph Lameter
2006-09-23T00:23:54Z

On Sat, 23 Sep 2006, Andi Kleen wrote:

> The problem is that if someone has a workload with lots of pinned pages
> (e.g. lots of mlock) then the first 16MB might fill up completely and there
> is no chance at all to free it because it's pinned

Ok. That may be a problem for i386. After the removal of the GFP_DMA
and ZONE_DMA stuff it is then be possible to redefine ZONE_DMA (or
whatever we may call it ZONE_RESERVE?) to an arbitrary size a the
beginning of memory. Then alloc_pages_range() can dynamically decide to
tap that pool if necessary. I already have checks for ZONE_DMA and
ZONE_DMA32 in there. If we just rename those then what you wanted would
be there. If additional memory pools are available then they
are used if the allocation restrictions fit to avoid a lengthy search.

This may mean that i386 and x86_64 will still have two zones. Its somewhat
better.

However, on IA64 we would not need this since our DMA limit has been
4GB in the past.