summaryrefslogtreecommitdiffstats
path: root/mm/compaction.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-10-15 07:05:06 +0200
committerIngo Molnar <mingo@kernel.org>2013-10-15 07:05:18 +0200
commit426ee9e3bbc478ed9c0a079a4270f6095f0eb975 (patch)
treed8f295e2e516a61b2ab8ccb49f5b1d9fb67979bd /mm/compaction.c
parentb7af41a1bc255c0098c37a4bcf5c7e5e168ce875 (diff)
parent61e6cfa80de5760bbe406f4e815b7739205754d2 (diff)
Merge tag 'v3.12-rc5' into perf/core
Merge Linux v3.12-rc5, to pick up the latest fixes. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'mm/compaction.c')
-rw-r--r--mm/compaction.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mm/compaction.c b/mm/compaction.c
index c43789388cd..b5326b141a2 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -677,6 +677,13 @@ static void isolate_freepages(struct zone *zone,
pfn -= pageblock_nr_pages) {
unsigned long isolated;
+ /*
+ * This can iterate a massively long zone without finding any
+ * suitable migration targets, so periodically check if we need
+ * to schedule.
+ */
+ cond_resched();
+
if (!pfn_valid(pfn))
continue;