[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <47BB4BB5.20709@redhat.com>
Date: Tue, 19 Feb 2008 16:35:49 -0500
From: Larry Woodman <lwoodman@...hat.com>
To: linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Problem with /proc/sys/vm/lowmem_reserve_ratio
balance_pgdat() calls zone_watermark_ok() three times, the first call
passes a zero(0) in as the 4th argument. This 4th argument is the
classzone_idx which is used as the index into the zone->lowmem_reserve[]
array.
Since setup_per_zone_lowmem_reserve()
always sets the zone->lowmem_reserve[0] = 0(because there is nothing
below the DMA zone), zone_watermark_ok() will not consider the
lowmem_reserve pages when zero is passed as the 4th arg. The
4th argument must be "i" or balance_pgdat wont even get into the main loop
when lowmem_reserve_ratio is lowered.
-------------------------------------------------------------------------
--- linux-2.6.24.noarch/mm/vmscan.c.orig 2008-02-13
11:14:55.000000000 -0500
+++ linux-2.6.24.noarch/mm/vmscan.c 2008-02-13 11:15:02.000000000
-0500
@@ -1375,7 +1375,7 @@ loop_again:
continue;
if (!zone_watermark_ok(zone, order,
zone->pages_high,
- 0, 0)) {
+ i, 0)) {
end_zone = i;
break;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists