From ba9ae0337dc971eaa8ccfbfc0847de505ec1aa5b Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Mon, 24 Oct 2016 00:08:58 +0200 Subject: [PATCH] TODO: Good enough watchdog implementation now in place This patch removes the long standing Watchdog daemon from the TODO list. We now have a bare-bones watchdog service built-in to Finit, with support for handing over to an external, and possibly more advanced, using the initctl API. Signed-off-by: Joachim Nilsson --- TODO.md | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/TODO.md b/TODO.md index ace43d7c..63af484d 100644 --- a/TODO.md +++ b/TODO.md @@ -91,44 +91,6 @@ the shell -- that way setting up one-time jobs would not entail re-reading `/etc/finit.conf` -Watchdog --------- - -Support for monitoring the health of the system and its processes. - -* Add support for a `/dev/watchdog` built-in to replace both the BusyBox - watchdogd and my own refreshed uClinux-dist adaptation, - [watchdogd](https://github.com/troglobit/watchdogd) -* Add a system supervisor (pmon) to optionally reboot the system when a - process stops responding, or when a respawn limit has been reached, as - well as when system load gets too high. For details on UNIX loadavg, - see http://stackoverflow.com/questions/11987495/linux-proc-loadavg - - Default to 0.7 as MAX recommended load before warning and 0.9 reboot -* API for processes to register with the watchdog, libwdt - - Deeper monitoring of a process' main loop by instrumenting - - If a process is not heard from within its subscribed period time - reboot system or restart process. - - Add client libwdt library, inspired by old Westermo API and the - [libwdt][] API published in the [Fritz!Box source dump][], take for - instance the `fritzbox7170-source-files-04.87-tar.gz` drop and see - the `GPL-release_kernel.tgz` in `drivers/char/avm_new/` for the - kernel driver, and the `LGPL-GPL-release_target_tools.tgz` in `wdt/` - for the userland API. - - When a client process (a standard app/daemon instrumented with - libwdt calls in its main loop) registers with the watchdog, we raise - the RT priority to 98 (just below the kernel watchdog in prio). - This to ensure that system monitoring goes before anything else in - the system. - - Use UNIX domain sockets for communication between daemon and clients -* Separate `/etc/watchdog.conf` configuration file, or a perhaps - support for a more generic `/etc/finit.d/PLUGIN.conf`? -* Support enable/disable watchdog features: - - Supervise processes, - - CPU loadavg, - - Watch for file descriptor leaks, - - etc. - - Documentation -------------