diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/vmscan.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index 7f3096137b8a..e73d0206dddd 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -1177,7 +1177,11 @@ int isolate_lru_page(struct page *page) | |||
1177 | } | 1177 | } |
1178 | 1178 | ||
1179 | /* | 1179 | /* |
1180 | * Are there way too many processes in the direct reclaim path already? | 1180 | * A direct reclaimer may isolate SWAP_CLUSTER_MAX pages from the LRU list and |
1181 | * then get resheduled. When there are massive number of tasks doing page | ||
1182 | * allocation, such sleeping direct reclaimers may keep piling up on each CPU, | ||
1183 | * the LRU list will go small and be scanned faster than necessary, leading to | ||
1184 | * unnecessary swapping, thrashing and OOM. | ||
1181 | */ | 1185 | */ |
1182 | static int too_many_isolated(struct zone *zone, int file, | 1186 | static int too_many_isolated(struct zone *zone, int file, |
1183 | struct scan_control *sc) | 1187 | struct scan_control *sc) |