x86: disable preemption in native_smp_prepare_cpus
Priit Laes reported the following warning:
Call Trace:
[<
ffffffff8022f1e1>] warn_on_slowpath+0x51/0x63
[<
ffffffff80282e48>] sys_ioctl+0x2d/0x5d
[<
ffffffff805185ff>] _spin_lock+0xe/0x24
[<
ffffffff80227459>] task_rq_lock+0x3d/0x73
[<
ffffffff805133c3>] set_cpu_sibling_map+0x336/0x350
[<
ffffffff8021c1b8>] read_apic_id+0x30/0x62
[<
ffffffff806d921d>] verify_local_APIC+0x90/0x138
[<
ffffffff806d84b5>] native_smp_prepare_cpus+0x1f9/0x305
[<
ffffffff806ce7b1>] kernel_init+0x59/0x2d9
[<
ffffffff80518a26>] _spin_unlock_irq+0x11/0x2b
[<
ffffffff8020bf48>] child_rip+0xa/0x12
[<
ffffffff806ce758>] kernel_init+0x0/0x2d9
[<
ffffffff8020bf3e>] child_rip+0x0/0x12
fix this by generally disabling preemption in native_smp_prepare_cpus().
Reported-and-bisected-by: Priit Laes <plaes@plaes.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>