• Frederic Weisbecker's avatar
    nohz: Force boot CPU outside full dynticks range · 0453b435
    Frederic Weisbecker authored
    The timekeeping job must be able to run early on boot
    because there may be some pre-SMP (and thus pre-initcalls )
    components that rely on it. The IO-APIC is one such users
    as it tests the timer health by watching jiffies progression.
    
    Given that it happens before we know the initial online
    set, we can't rely on it to select a timekeeper. We need
    one before SMP time otherwise we simply crash on boot.
    
    To fix this and keep things simple for now, force the boot CPU
    outside of the full dynticks range in any case and do this early
    on kernel parameter parsing time.
    
    We might want a trickier solution later, expecially for aSMP
    architectures that need to assign housekeeping tasks to arbitrary
    low power CPUs.
    
    But it's still first pass KISS time for now.
    Reviewed-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Chris Metcalf <cmetcalf@tilera.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Geoff Levand <geoff@infradead.org>
    Cc: Gilad Ben Yossef <gilad@benyossef.com>
    Cc: Hakan Akkan <hakanakkan@gmail.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Kevin Hilman <khilman@linaro.org>
    Cc: Li Zhong <zhong@linux.vnet.ibm.com>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    0453b435
kernel-parameters.txt 112 KB