|
@@ -653,7 +653,7 @@ static void restart_watchdog_hrtimer(void *info)
|
|
|
HRTIMER_MODE_REL_PINNED);
|
|
|
}
|
|
|
|
|
|
-static void update_timers(int cpu)
|
|
|
+static void update_watchdog(int cpu)
|
|
|
{
|
|
|
/*
|
|
|
* Make sure that perf event counter will adopt to a new
|
|
@@ -668,17 +668,17 @@ static void update_timers(int cpu)
|
|
|
watchdog_nmi_enable(cpu);
|
|
|
}
|
|
|
|
|
|
-static void update_timers_all_cpus(void)
|
|
|
+static void update_watchdog_all_cpus(void)
|
|
|
{
|
|
|
int cpu;
|
|
|
|
|
|
get_online_cpus();
|
|
|
for_each_online_cpu(cpu)
|
|
|
- update_timers(cpu);
|
|
|
+ update_watchdog(cpu);
|
|
|
put_online_cpus();
|
|
|
}
|
|
|
|
|
|
-static int watchdog_enable_all_cpus(bool sample_period_changed)
|
|
|
+static int watchdog_enable_all_cpus(void)
|
|
|
{
|
|
|
int err = 0;
|
|
|
|
|
@@ -688,8 +688,12 @@ static int watchdog_enable_all_cpus(bool sample_period_changed)
|
|
|
pr_err("Failed to create watchdog threads, disabled\n");
|
|
|
else
|
|
|
watchdog_running = 1;
|
|
|
- } else if (sample_period_changed) {
|
|
|
- update_timers_all_cpus();
|
|
|
+ } else {
|
|
|
+ /*
|
|
|
+ * Enable/disable the lockup detectors or
|
|
|
+ * change the sample period 'on the fly'.
|
|
|
+ */
|
|
|
+ update_watchdog_all_cpus();
|
|
|
}
|
|
|
|
|
|
return err;
|
|
@@ -721,7 +725,7 @@ static int proc_watchdog_update(void)
|
|
|
* or disabled 'on the fly'.
|
|
|
*/
|
|
|
if (watchdog_enabled && watchdog_thresh)
|
|
|
- err = watchdog_enable_all_cpus(true);
|
|
|
+ err = watchdog_enable_all_cpus();
|
|
|
else
|
|
|
watchdog_disable_all_cpus();
|
|
|
|
|
@@ -861,5 +865,5 @@ void __init lockup_detector_init(void)
|
|
|
set_sample_period();
|
|
|
|
|
|
if (watchdog_enabled)
|
|
|
- watchdog_enable_all_cpus(false);
|
|
|
+ watchdog_enable_all_cpus();
|
|
|
}
|