diff options
author | Peter Zijlstra <peterz@infradead.org> | 2018-06-07 10:52:03 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-07-03 09:20:43 +0200 |
commit | 9cf57731b63e37ed995b46690adc604891a9a28f (patch) | |
tree | c8bba79ceb4c998a5f18222a60747ac52236c5a0 /kernel/cpu.c | |
parent | 4520843dfa34417eb1e2061f60d2345d9ca614e1 (diff) | |
download | op-kernel-dev-9cf57731b63e37ed995b46690adc604891a9a28f.zip op-kernel-dev-9cf57731b63e37ed995b46690adc604891a9a28f.tar.gz |
watchdog/softlockup: Replace "watchdog/%u" threads with cpu_stop_work
Oleg suggested to replace the "watchdog/%u" threads with
cpu_stop_work. That removes one thread per CPU while at the same time
fixes softlockup vs SCHED_DEADLINE.
But more importantly, it does away with the single
smpboot_update_cpumask_percpu_thread() user, which allows
cleanups/shrinkage of the smpboot interface.
Suggested-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r-- | kernel/cpu.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c index 0db8938..191097c 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -1344,6 +1344,11 @@ static struct cpuhp_step cpuhp_hp_states[] = { .startup.single = perf_event_init_cpu, .teardown.single = perf_event_exit_cpu, }, + [CPUHP_AP_WATCHDOG_ONLINE] = { + .name = "lockup_detector:online", + .startup.single = lockup_detector_online_cpu, + .teardown.single = lockup_detector_offline_cpu, + }, [CPUHP_AP_WORKQUEUE_ONLINE] = { .name = "workqueue:online", .startup.single = workqueue_online_cpu, |