[PATCH 2/4] mm, page_ext: periodically reschedule during page_ext_init()

From: Vlastimil Babka
Date: Thu Jul 20 2017 - 09:41:17 EST


page_ext_init() can take long on large machines, so add a cond_resched() point
after each section is processed. This will allow moving the init to a later
point at boot without triggering lockup reports.

Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
---
mm/page_ext.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/mm/page_ext.c b/mm/page_ext.c
index 88ccc044b09a..24cf8abefc8d 100644
--- a/mm/page_ext.c
+++ b/mm/page_ext.c
@@ -409,6 +409,7 @@ void __init page_ext_init(void)
continue;
if (init_section_page_ext(pfn, nid))
goto oom;
+ cond_resched();
}
}
hotplug_memory_notifier(page_ext_callback, 0);
--
2.13.2