summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/watchdog.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 63d702885686..49d02250aaac 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -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();
}