Re: [PATCH v8 0/3] watchdog: allow setting deadline for opening /dev/watchdogN

From: Esben Haabendal
Date: Wed Jan 16 2019 - 10:01:11 EST


Rasmus Villemoes <rasmus.villemoes@xxxxxxxxx> writes:

> If a watchdog driver tells the framework that the device is running,
> the framework takes care of feeding the watchdog until userspace opens
> the device. If the userspace application which is supposed to do that
> never comes up properly, the watchdog is fed indefinitely by the
> kernel. This can be especially problematic for embedded devices.
>
> The existing handle_boot_enabled cmdline parameter/config option
> partially solves that, but that is only usable for the subset of
> hardware watchdogs that have (or can be configured by the bootloader
> to have) a timeout that is sufficient to make it realistic for
> userspace to come up. Many devices have timeouts of only a few
> seconds, or even less, making handle_boot_enabled insufficient.
>
> These patches allow one to set a maximum time for which the kernel
> will feed the watchdog, thus ensuring that either userspace has come
> up, or the board gets reset. This allows fallback logic in the
> bootloader to attempt some recovery (for example, if an automatic
> update is in progress, it could roll back to the previous version).
>
> The patches have been tested on a Raspberry Pi 2 and a Wandboard.
>
> Changes in v8: Redo on top of 5.0-rc1 - in particular, adapt to the
> jiffies->ktime_t conversion (1ff68820 "watchdog: core: make sure the
> watchdog_worker is not deferred"). Add a patch to make the hardware
> timeout at the deadline as requested by Guenther - which was actually
> made very easy by the ktime_t conversion.
>
> v7 submission at <https://lore.kernel.org/lkml/1511865350-20665-1-git-send-email-rasmus.villemoes@xxxxxxxxx/>
>
> Rasmus Villemoes (3):
> watchdog: introduce watchdog.open_timeout commandline parameter
> watchdog: introduce CONFIG_WATCHDOG_OPEN_TIMEOUT
> watchdog: make the device time out at open_deadline when open_timeout
> is used
>
> .../watchdog/watchdog-parameters.txt | 9 ++++
> drivers/watchdog/Kconfig | 9 ++++
> drivers/watchdog/watchdog_dev.c | 42 +++++++++++++++----
> 3 files changed, 53 insertions(+), 7 deletions(-)

For the whole series:
Acked-by: Esben Haabendal <esben@xxxxxxxxxxxx>