Certain implementations of the hardlockup detector require support for Inter-Processor Interrupt shorthands. On x86, support for these can only be determined after all the possible CPUs have booted once (in smp_init()). Other architectures may not need such check.
lockup_detector_init() only performs the initializations of data structures of the lockup detector. Hence, there are no dependencies on smp_init(). Cc: Andi Kleen <a...@linux.intel.com> Cc: Nicholas Piggin <npig...@gmail.com> Cc: Andrew Morton <a...@linux-foundation.org> Cc: Stephane Eranian <eran...@google.com> Cc: "Ravi V. Shankar" <ravi.v.shan...@intel.com> Cc: io...@lists.linux-foundation.org Cc: linuxppc-dev@lists.ozlabs.org Reviewed-by: Tony Luck <tony.l...@intel.com> Acked-by: Nicholas Piggin <npig...@gmail.com> Signed-off-by: Ricardo Neri <ricardo.neri-calde...@linux.intel.com> --- Changes since v6: * None Changes since v5: * Introduced this patch Changes since v4: * N/A Changes since v3: * N/A Changes since v2: * N/A Changes since v1: * N/A --- init/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/init/main.c b/init/main.c index 4425d1783d5c..d0642a49e2e8 100644 --- a/init/main.c +++ b/init/main.c @@ -1620,9 +1620,11 @@ static noinline void __init kernel_init_freeable(void) rcu_init_tasks_generic(); do_pre_smp_initcalls(); - lockup_detector_init(); smp_init(); + + lockup_detector_init(); + sched_init_smp(); padata_init(); -- 2.25.1