Re: More thoughts on getting rid of ZONE_DMA

Christoph Lameter
2006-09-24T02:13:53Z

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

Note that mlock'ed pages are movable. mlock only specifies that pages
must stay in memory. It does not say that they cannot be moved. So
page migration could help there.

This brings up a possible problem spot in the current kernel: It seems
that the VM is capable of migrating pages from ZONE_DMA to
ZONE_NORMAL! So once pages are in memory then they may move out of the
DMA-able area.

I assume the writeback paths have some means of detecting that a
page is out of range during writeback and then do page bouncing?

If that is the case then we could simply move movable pages out
if necessary. That would be a kind of bouncing logic there that
would only kick in if necessary.