43 lines
1.6 KiB
Diff
43 lines
1.6 KiB
Diff
From: Thomas Gleixner <tglx@linutronix.de>
|
|
Date: Tue, 16 May 2017 20:42:39 +0200
|
|
Subject: [PATCH 08/17] mm: Adjust system_state check
|
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.11/older/patches-4.11.8-rt5.tar.xz
|
|
|
|
To enable smp_processor_id() and might_sleep() debug checks earlier, it's
|
|
required to add system states between SYSTEM_BOOTING and SYSTEM_RUNNING.
|
|
|
|
get_nid_for_pfn() checks for system_state == BOOTING to decide whether to
|
|
use early_pfn_to_nid() when CONFIG_DEFERRED_STRUCT_PAGE_INIT=y.
|
|
|
|
That check is dubious, because the switch to state RUNNING happes way after
|
|
page_alloc_init_late() has been invoked.
|
|
|
|
Change the check to less than RUNNING state so it covers the new
|
|
intermediate states as well.
|
|
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
|
|
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
|
Cc: Mark Rutland <mark.rutland@arm.com>
|
|
Cc: Mel Gorman <mgorman@techsingularity.net>
|
|
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
Cc: Steven Rostedt <rostedt@goodmis.org>
|
|
Link: http://lkml.kernel.org/r/20170516184735.528279534@linutronix.de
|
|
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
|
---
|
|
drivers/base/node.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/base/node.c
|
|
+++ b/drivers/base/node.c
|
|
@@ -377,7 +377,7 @@ static int __ref get_nid_for_pfn(unsigne
|
|
if (!pfn_valid_within(pfn))
|
|
return -1;
|
|
#ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT
|
|
- if (system_state == SYSTEM_BOOTING)
|
|
+ if (system_state < SYSTEM_RUNNING)
|
|
return early_pfn_to_nid(pfn);
|
|
#endif
|
|
page = pfn_to_page(pfn);
|