lkml.org 
[lkml]   [2004]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
DateMon, 23 Feb 2004 00:59:48 -0800
FromAndrew Morton <>
SubjectRe: [PATCH] vm-fix-all_zones_ok (was Re: 2.6.3-mm3)
Nick Piggin <piggin@cyberone.com.au> wrote:
>
>
>
> Nick Piggin wrote:
>
> >
> > Humph. OK you're right.
>
>
> Aha but you've broken something!

I'm a microsoft spy.

> Tell me I'm still useful.

You're still useful.

> diff -puN mm/vmscan.c~vm-fix-all_zones_ok mm/vmscan.c
> --- linux-2.6/mm/vmscan.c~vm-fix-all_zones_ok 2004-02-23 19:44:06.000000000 +1100
> +++ linux-2.6-npiggin/mm/vmscan.c 2004-02-23 19:45:10.000000000 +1100
> @@ -1008,10 +1008,12 @@ static int balance_pgdat(pg_data_t *pgda
>
> if (nr_pages) /* Software suspend */
> to_reclaim = min(to_free, SWAP_CLUSTER_MAX*8);
> - else /* Zone balancing */
> + else { /* Zone balancing */
> to_reclaim = zone->reclaim_batch;
> + if (zone->pages_high < zone->free_pages)
> + all_zones_ok = 0;
> + }

I wouldna spotted that in a million years. That all_zones_ok code was a
bitch to test and really needs retesting.

We used to have <= in there actually:

to_reclaim = zone->pages_high-zone->free_pages;
if (to_reclaim <= 0)
continue;
We've never clearly defined whether pages_high == free_pages means the zone
is under limits. According to __alloc_pages() it means that the zone is
not under limits, so you've fixed two bugs there.

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

\
 
 \ /
  Last update: 2005-03-22 14:01    [from the cache]
©2003-2010