Re: [patch] 4GB I/O, cut three

andrea@e-mind.com
Wed, 30 May 2001 16:26:07 +0200


On Wed, May 30, 2001 at 11:59:50AM +0100, Mark Hemment wrote:
> Now, when HIGHMEM allocations come in (for page cache pages), they
> skip the HIGH zone and use the NORMAL zone (as it now has plenty
> of free pages) - the code at the top of __alloc_pages(), which
> checks against ->pages_low.

btw, I think such heuristic is horribly broken ;), the highmem zone
simply needs to be balanced if it is under the pages_low mark, just
skipping it and falling back into the normal zone that happens to be
above the low mark is the wrong thing to do.

> Also, the problem isn't as bad as it first looks - HIGHMEM page-cache
> pages do get "recycled" (reclaimed), but there is a slight imbalance.

there will always be some imbalance unless all allocations would be
capable of highmem (which will never happen). The only thing we can do
is to optimize the zone usage so we won't run out of normal pages unless
there was a good reason. Once we run out of normal pages we'll simply
return NULL and the reserved pool of highmem bounces will be used
instead (other callers will behave differently).

Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/