| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Tue, 16 May 2017 20:42:46 +0200 |
| Subject: [PATCH 15/17] mm/vmscan: Adjust system_state checks |
| |
| To enable smp_processor_id() and might_sleep() debug checks earlier, it's |
| required to add system states between SYSTEM_BOOTING and SYSTEM_RUNNING. |
| |
| Adjust the system_state check in kswapd_run() to handle the extra states. |
| |
| Tested-by: Mark Rutland <mark.rutland@arm.com> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
| Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org> |
| Acked-by: Vlastimil Babka <vbabka@suse.cz> |
| Cc: Andrew Morton <akpm@linux-foundation.org> |
| Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Cc: Johannes Weiner <hannes@cmpxchg.org> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Mel Gorman <mgorman@techsingularity.net> |
| Cc: Michal Hocko <mhocko@suse.com> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Link: http://lkml.kernel.org/r/20170516184736.119158930@linutronix.de |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| --- |
| mm/vmscan.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/mm/vmscan.c |
| +++ b/mm/vmscan.c |
| @@ -3654,7 +3654,7 @@ int kswapd_run(int nid) |
| pgdat->kswapd = kthread_run(kswapd, pgdat, "kswapd%d", nid); |
| if (IS_ERR(pgdat->kswapd)) { |
| /* failure at boot is fatal */ |
| - BUG_ON(system_state == SYSTEM_BOOTING); |
| + BUG_ON(system_state < SYSTEM_RUNNING); |
| pr_err("Failed to start kswapd on node %d\n", nid); |
| ret = PTR_ERR(pgdat->kswapd); |
| pgdat->kswapd = NULL; |