diff options
author | attilio <attilio@FreeBSD.org> | 2011-04-27 16:43:03 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2011-04-27 16:43:03 +0000 |
commit | 27b63ddca0a95a8e3ffa109f713f82c9071610ae (patch) | |
tree | d3424aa0d35dd3d768f6340460e2af4a0b15b244 /sys/ddb | |
parent | 334823faa14810bc193788d6b1455a64f857f842 (diff) | |
download | FreeBSD-src-27b63ddca0a95a8e3ffa109f713f82c9071610ae.zip FreeBSD-src-27b63ddca0a95a8e3ffa109f713f82c9071610ae.tar.gz |
- Add the possibility to reuse the already last used timeout when patting
the watchdog, via the watchdog(9) interface.
For that, the WD_LASTVAL bitwise operation is used. It is mutually
exclusive with any explicit timout passing to the watchdogs.
The last timeout can be returned via the wdog_kern_last_timeout()
KPI.
- Add the possibility to pat the watchdogs installed via the watchdog(9)
interface from the kernel.
In order to do that the new KPI wdog_kern_pat() is offered and it does
accept normalized nanoseconds or WD_LASTVAL.
- Avoid to pass WD_ACTIVE down in the watchdog handlers. All the control
bit processing should over to the upper layer functions and not passed
down to the handlers at all.
These changes are intended to be used in order to fix up the watchdog
tripping in situation when the userland is busted, but protection is still
wanted (examples: shutdown syncing / disk dumping).
Sponsored by: Sandvine Incorporated
Reviewed by: emaste, des, cognet
MFC after: 2 weeks
Diffstat (limited to 'sys/ddb')
-rw-r--r-- | sys/ddb/db_command.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/sys/ddb/db_command.c b/sys/ddb/db_command.c index d8c8cb0..21cb7c5 100644 --- a/sys/ddb/db_command.c +++ b/sys/ddb/db_command.c @@ -724,14 +724,6 @@ db_watchdog(dummy1, dummy2, dummy3, dummy4) } else if ((tout & WD_INTERVAL) == WD_TO_NEVER) { db_error("Out of range watchdog interval\n"); return; - } else { - - /* - * XXX: Right now we only support WD_ACTIVE, in the future we - * may be possibly needing a more convoluted function for - * dealing with different cases. - */ - tout |= WD_ACTIVE; } EVENTHANDLER_INVOKE(watchdog_list, tout, &i); } |