diff options
author | Frederic Weisbecker <[email protected]> | 2013-06-06 15:42:53 +0200 |
---|---|---|
committer | Frederic Weisbecker <[email protected]> | 2013-06-20 01:16:09 +0200 |
commit | b8900bc0217fac8e68085997bee2f05e6db931a2 (patch) | |
tree | 43c7ddba331b1cf3d7c984e7b0ba528cd295b44d /tools/perf/scripts/python/Perf-Trace-Util/lib/Perf | |
parent | e12d0271774fea9fddf1e2a7952a0bffb2ee8e8b (diff) |
watchdog: Register / unregister watchdog kthreads on sysctl control
The user activation/deactivation of the watchdog through boot parameters
or systcl is currently implemented with a dance involving kthreads parking
and unparking methods: the threads are unconditionally registered on
boot and they park as soon as the user want the watchdog to be disabled.
This method involves a few noisy details to handle though: the watchdog
kthreads may be unparked anytime due to hotplug operations, after which
the watchdog internals have to decide to park again if it is user-disabled.
As a result the setup() and unpark() methods need to be able to request a
reparking. This is not currently supported in the kthread infrastructure
so this piece of the watchdog code only works halfway.
Besides, unparking/reparking the watchdog kthreads consume unnecessary
cputime on hotplug operations when those could be simply ignored in the
first place.
As suggested by Srivatsa, let's instead only register the watchdog
threads when they are needed. This way we don't need to think about
hotplug operations and we don't burden the CPU onlining when the watchdog
is simply disabled.
Suggested-by: Srivatsa S. Bhat <[email protected]>
Signed-off-by: Frederic Weisbecker <[email protected]>
Cc: Srivatsa S. Bhat <[email protected]>
Cc: Anish Singh <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Li Zhong <[email protected]>
Cc: Don Zickus <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/Perf-Trace-Util/lib/Perf')
0 files changed, 0 insertions, 0 deletions