Re: [PATCH] vm-fix-all_zones_ok (was Re: 2.6.3-mm3)

Nick Piggin
2004-02-23T09:21:22Z

Andrew Morton wrote:

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

Well their code is public domain now, so you needn't put in all
the good bits by yourself.

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

all_zones_ok is actually now the only way you can really stop
scanning (yes, you eventually run out of priority).

I suspect you mean zone->all_unreclaimable?