diff options
author | Vitaly Kuznetsov <[email protected]> | 2017-08-03 12:58:18 +0200 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2017-08-10 17:02:47 +0200 |
commit | 10e66760fa8ee11f254a69433fc132d04758a5fc (patch) | |
tree | 5feb4401244f2371d3f46a9ac752a211da1f6455 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | e93c17301ac55321fc18e0f8316e924e58a83c8c (diff) |
x86/smpboot: Unbreak CPU0 hotplug
A hang on CPU0 onlining after a preceding offlining is observed. Trace
shows that CPU0 is stuck in check_tsc_sync_target() waiting for source
CPU to run check_tsc_sync_source() but this never happens. Source CPU,
in its turn, is stuck on synchronize_sched() which is called from
native_cpu_up() -> do_boot_cpu() -> unregister_nmi_handler().
So it's a classic ABBA deadlock, due to the use of synchronize_sched() in
unregister_nmi_handler().
Fix the bug by moving unregister_nmi_handler() from do_boot_cpu() to
native_cpu_up() after cpu onlining is done.
Signed-off-by: Vitaly Kuznetsov <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions