Re: More thoughts on getting rid of ZONE_DMA

Martin J. Bligh
2006-09-24T02:36:24Z

Christoph Lameter wrote:
> 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.

If it's the 16MB DMA window for ia32 we're talking about, wouldn't
it be easier just to remove it from the fallback lists? (assuming
you have at least 128MB of memory or something, blah, blah). Saves
doing migration later.

M.