From: Andrew Morton Despaghettify balance_pdgat() a bit. Signed-off-by: Andrew Morton --- mm/vmscan.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff -puN mm/vmscan.c~balance_pdgat-cleanup mm/vmscan.c --- a/mm/vmscan.c~balance_pdgat-cleanup +++ a/mm/vmscan.c @@ -1153,11 +1153,12 @@ loop_again: if (!zone_watermark_ok(zone, order, zone->pages_high, 0, 0)) { end_zone = i; - goto scan; + break; } } - goto out; -scan: + if (i < 0) + goto out; + for (i = 0; i <= end_zone; i++) { struct zone *zone = pgdat->node_zones + i; _