diff options
author | Vlastimil Babka <vbabka@suse.cz> | 2017-09-06 16:20:48 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-09-06 17:27:26 -0700 |
commit | 0fc542b7dd90a7080fc1a8c846d13a4ddad509ba (patch) | |
tree | ee5422ad6a51cc864faea00bce1d0f460a677878 /mm | |
parent | dab4ead1a9d88361c85a8209c7e23a8fd124e8d7 (diff) |
mm, page_ext: periodically reschedule during page_ext_init()
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.
Link: http://lkml.kernel.org/r/20170720134029.25268-3-vbabka@suse.cz
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Yang Shi <yang.shi@linaro.org>
Cc: Laura Abbott <labbott@redhat.com>
Cc: Vinayak Menon <vinmenon@codeaurora.org>
Cc: zhong jiang <zhongjiang@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/page_ext.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mm/page_ext.c b/mm/page_ext.c index 714ce79256c5..32f18911deda 100644 --- a/mm/page_ext.c +++ b/mm/page_ext.c @@ -406,6 +406,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); |