Re: [PATCH 2/4] watchdog/softlockup: Replace "watchdog/%u" threads with cpu_stop_work

From: Peter Zijlstra
Date: Thu Jun 07 2018 - 10:24:20 EST


On Thu, Jun 07, 2018 at 02:33:12PM +0200, Peter Zijlstra wrote:

> +static int softlockup_stop_fn(void *data)
> {
> + watchdog_disable(smp_processor_id());
> + return 0;
> }
>
> +static void softlockup_stop_all(void)
> {
> + int cpu;
> +
> + for_each_cpu(cpu, &watchdog_allowed_mask)
> + stop_one_cpu(cpu, softlockup_stop_fn, NULL);
> +
> + cpumask_clear(&watchdog_allowed_mask);
> }

Bugger, that one doesn't quite work.. watchdog_disable() ends up calling
a sleeping function. I forgot to enable all the debug cruft when
testing..

Let me try and fix that..