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