diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/vmscan.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index a6e65d024995..bc58802663be 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -1371,7 +1371,13 @@ loop_again: | |||
1371 | temp_priority[i] = priority; | 1371 | temp_priority[i] = priority; |
1372 | sc.nr_scanned = 0; | 1372 | sc.nr_scanned = 0; |
1373 | note_zone_scanning_priority(zone, priority); | 1373 | note_zone_scanning_priority(zone, priority); |
1374 | nr_reclaimed += shrink_zone(priority, zone, &sc); | 1374 | /* |
1375 | * We put equal pressure on every zone, unless one | ||
1376 | * zone has way too many pages free already. | ||
1377 | */ | ||
1378 | if (!zone_watermark_ok(zone, order, 8*zone->pages_high, | ||
1379 | end_zone, 0)) | ||
1380 | nr_reclaimed += shrink_zone(priority, zone, &sc); | ||
1375 | reclaim_state->reclaimed_slab = 0; | 1381 | reclaim_state->reclaimed_slab = 0; |
1376 | nr_slab = shrink_slab(sc.nr_scanned, GFP_KERNEL, | 1382 | nr_slab = shrink_slab(sc.nr_scanned, GFP_KERNEL, |
1377 | lru_pages); | 1383 | lru_pages); |