Commit a0c9cbb9 authored by Ulrich Obergfell's avatar Ulrich Obergfell Committed by Linus Torvalds
Browse files

watchdog: introduce the proc_watchdog_update() function



This series introduces a separate handler for each watchdog parameter in
/proc/sys/kernel.  The separate handlers need a common function that they
can call to update the run state of the lockup detectors, or to have the
lockup detectors use a new sample period.

Signed-off-by: default avatarUlrich Obergfell <uobergfe@redhat.com>
Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 84d56e66
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -678,6 +678,29 @@ static void watchdog_disable_all_cpus(void)
	}
}

/*
 * Update the run state of the lockup detectors.
 */
static int proc_watchdog_update(void)
{
	int err = 0;

	/*
	 * Watchdog threads won't be started if they are already active.
	 * The 'watchdog_running' variable in watchdog_*_all_cpus() takes
	 * care of this. If those threads are already active, the sample
	 * period will be updated and the lockup detectors will be enabled
	 * or disabled 'on the fly'.
	 */
	if (watchdog_enabled && watchdog_thresh)
		err = watchdog_enable_all_cpus(true);
	else
		watchdog_disable_all_cpus();

	return err;

}

/*
 * proc handler for /proc/sys/kernel/nmi_watchdog,watchdog_thresh
 */