On Tue, 19 Feb 2008 16:35:49 -0500 Larry Woodman <[EMAIL PROTECTED]> wrote:

> 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;

Yes, thanks, this is in my things-to-worry-about-when-i-get-home bucket. 
We should find the changeset which added this and work out if for some
reason it was intentional.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to