summaryrefslogtreecommitdiff
path: root/kernel/sched/core.c
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2017-04-21 13:46:57 +0300
committerIngo Molnar <mingo@kernel.org>2017-05-15 11:15:21 +0300
commit2e44b7ddf8ab01cf98106c68388f87af15fbde73 (patch)
treee0bb9507fc4d61957b10858a2caf87e616c7332a /kernel/sched/core.c
parentf9fccdb9efef60dbcf84d493514b475c41aa866f (diff)
downloadlinux-2e44b7ddf8ab01cf98106c68388f87af15fbde73.tar.xz
sched/clock: Use late_initcall() instead of sched_init_smp()
Core2 marks its TSC unstable in ACPI Processor Idle, which is probed after sched_init_smp(). Luckily it appears both acpi_processor and intel_idle (which has a similar check) are mandatory built-in. This means we can delay switching to stable until after these drivers have ran (if they were modules, this would be impossible). Delay the stable switch to late_initcall() to allow these drivers to mark TSC unstable and avoid difficult stable->unstable transitions. Reported-by: Lofstedt, Marta <marta.lofstedt@intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rafael J . Wysocki <rafael.j.wysocki@intel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r--kernel/sched/core.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 803c3bc274c4..5794f4acad15 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5984,7 +5984,6 @@ void __init sched_init_smp(void)
init_sched_dl_class();
sched_init_smt();
- sched_clock_init_late();
sched_smp_initialized = true;
}
@@ -6000,7 +5999,6 @@ early_initcall(migration_init);
void __init sched_init_smp(void)
{
sched_init_granularity();
- sched_clock_init_late();
}
#endif /* CONFIG_SMP */