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

From: Nick Piggin
Date: Mon Feb 23 2004 - 04:22:28 EST




Andrew Morton wrote:

Nick Piggin <piggin@xxxxxxxxxxxxxxx> 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?

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