Source
23
23
behavior is changed, which can be done through a sysctl,
24
24
'hardlockup_panic', a compile time knob, "BOOTPARAM_HARDLOCKUP_PANIC",
25
25
and a kernel parameter, "nmi_watchdog"
26
26
(see "Documentation/admin-guide/kernel-parameters.rst" for details).
27
27
28
28
The panic option can be used in combination with panic_timeout (this
29
29
timeout is set through the confusingly named "kernel.panic" sysctl),
30
30
to cause the system to reboot automatically after a specified amount
31
31
of time.
32
32
33
-
=== Implementation ===
33
+
Implementation
34
+
==============
34
35
35
36
The soft and hard lockup detectors are built on top of the hrtimer and
36
37
perf subsystems, respectively. A direct consequence of this is that,
37
38
in principle, they should work in any architecture where these
38
39
subsystems are present.
39
40
40
41
A periodic hrtimer runs to generate interrupts and kick the watchdog
41
42
task. An NMI perf event is generated every "watchdog_thresh"
42
43
(compile-time initialized to 10 and configurable through sysctl of the
43
44
same name) seconds to check for hardlockups. If any CPU in the system