diff options
author | Corey Minyard <minyard@acm.org> | 2006-04-19 16:40:53 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2006-06-20 12:50:42 -0400 |
commit | e05b59fe7927bc648ac3af3d59dc64a7ee6b22e2 (patch) | |
tree | 845497dc08f3d506edfc3af2956f43e3f6d70472 /Documentation/watchdog | |
parent | 427abfa28afedffadfca9dd8b067eb6d36bac53f (diff) |
[WATCHDOG] Pre-Timeout flags
Some watchdog timers support the concept of a "pretimeout" which
occurs some time before the real timeout. The pretimeout can
be delivered via an interrupt or NMI and can be used to panic
the system when it occurs (so you get useful information instead
of a blind reboot).
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Diffstat (limited to 'Documentation/watchdog')
-rw-r--r-- | Documentation/watchdog/watchdog-api.txt | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/Documentation/watchdog/watchdog-api.txt b/Documentation/watchdog/watchdog-api.txt index 21ed51173662..7dc2c1c6f779 100644 --- a/Documentation/watchdog/watchdog-api.txt +++ b/Documentation/watchdog/watchdog-api.txt | |||
@@ -110,7 +110,31 @@ current timeout using the GETTIMEOUT ioctl. | |||
110 | ioctl(fd, WDIOC_GETTIMEOUT, &timeout); | 110 | ioctl(fd, WDIOC_GETTIMEOUT, &timeout); |
111 | printf("The timeout was is %d seconds\n", timeout); | 111 | printf("The timeout was is %d seconds\n", timeout); |
112 | 112 | ||
113 | Envinronmental monitoring: | 113 | Pretimeouts: |
114 | |||
115 | Some watchdog timers can be set to have a trigger go off before the | ||
116 | actual time they will reset the system. This can be done with an NMI, | ||
117 | interrupt, or other mechanism. This allows Linux to record useful | ||
118 | information (like panic information and kernel coredumps) before it | ||
119 | resets. | ||
120 | |||
121 | pretimeout = 10; | ||
122 | ioctl(fd, WDIOC_SETPRETIMEOUT, &pretimeout); | ||
123 | |||
124 | Note that the pretimeout is the number of seconds before the time | ||
125 | when the timeout will go off. It is not the number of seconds until | ||
126 | the pretimeout. So, for instance, if you set the timeout to 60 seconds | ||
127 | and the pretimeout to 10 seconds, the pretimout will go of in 50 | ||
128 | seconds. Setting a pretimeout to zero disables it. | ||
129 | |||
130 | There is also a get function for getting the pretimeout: | ||
131 | |||
132 | ioctl(fd, WDIOC_GETPRETIMEOUT, &timeout); | ||
133 | printf("The pretimeout was is %d seconds\n", timeout); | ||
134 | |||
135 | Not all watchdog drivers will support a pretimeout. | ||
136 | |||
137 | Environmental monitoring: | ||
114 | 138 | ||
115 | All watchdog drivers are required return more information about the system, | 139 | All watchdog drivers are required return more information about the system, |
116 | some do temperature, fan and power level monitoring, some can tell you | 140 | some do temperature, fan and power level monitoring, some can tell you |
@@ -169,6 +193,10 @@ The watchdog saw a keepalive ping since it was last queried. | |||
169 | 193 | ||
170 | WDIOF_SETTIMEOUT Can set/get the timeout | 194 | WDIOF_SETTIMEOUT Can set/get the timeout |
171 | 195 | ||
196 | The watchdog can do pretimeouts. | ||
197 | |||
198 | WDIOF_PRETIMEOUT Pretimeout (in seconds), get/set | ||
199 | |||
172 | 200 | ||
173 | For those drivers that return any bits set in the option field, the | 201 | For those drivers that return any bits set in the option field, the |
174 | GETSTATUS and GETBOOTSTATUS ioctls can be used to ask for the current | 202 | GETSTATUS and GETBOOTSTATUS ioctls can be used to ask for the current |