Re: [PATCH][1/2] adjust dirty threshold for lowmem-only mappings

Rik van Riel
2004-12-20T15:29:11Z

On Mon, 20 Dec 2004, Rik van Riel wrote:

> Simply running "dd if=/dev/zero of=/dev/hd<one you can miss>" will
> result in OOM kills, with the dirty pagecache completely filling up
> lowmem. This patch is part 1 to fixing that problem.

What I forgot to say is that in order to trigger this OOM kill
the dirty_limit of 40% needs to be more memory than what fits
in low memory. So this will work on x86 with 4GB RAM, since
the dirty_limit is 1.6GB, but the block device cache cannot
grow that big because it is restricted to low memory.

This has the effect of all low memory being tied up in dirty
page cache and userspace try_to_free_pages() skipping the
writeout of these pages because the block device is congested.

--
He did not think of himself as a tourist; he was a traveler. The difference is
partly one of time, he would explain. Where as the tourist generally hurries
back home at the end of a few weeks or months, the traveler belonging no more
to one place than to the next, moves slowly, over periods of years, from one
part of the earth to another. Indeed, he would have found it difficult to tell,
among the many places he had lived, precisely where it was he had felt most at
home. -- Paul Bowles