public inbox for linux-watchdog@vger.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: "Pádraig Brady" <P@draigBrady.com>, linux-watchdog@vger.kernel.org
Cc: "Wim Van Sebroeck" <wim@iguana.be>,
	linux-kernel@vger.kernel.org,
	"Timo Kokkonen" <timo.kokkonen@offcode.fi>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	linux-doc@vger.kernel.org, "Jonathan Corbet" <corbet@lwn.net>
Subject: Re: [PATCH 0/8] watchdog: Add support for keepalives triggered by infrastructure
Date: Tue, 04 Aug 2015 17:49:19 -0700	[thread overview]
Message-ID: <55C15D8F.4020009@roeck-us.net> (raw)
In-Reply-To: <55C14E2B.1080904@draigBrady.com>

On 08/04/2015 04:43 PM, Pádraig Brady wrote:
> On 04/08/15 03:13, Guenter Roeck wrote:
>> The watchdog infrastructure is currently purely passive, meaning
>> it only passes information from user space to drivers and vice versa.
>>
>> Since watchdog hardware tends to have its own quirks, this can result
>> in quite complex watchdog drivers. A number of scanarios are especially common.
>>
>> - A watchdog is always active and can not be disabled, or can not be disabled
>>    once enabled. To support such hardware, watchdog drivers have to implement
>>    their own timers and use those timers to trigger watchdog keepalives while
>>    the watchdog device is not or not yet opened.
>> - A variant of this is the desire to enable a watchdog as soon as its driver
>>    has been instantiated, to protect the system while it is still booting up,
>>    but the watchdog daemon is not yet running.
>
> Just mentioning that patting the watchdog in the boot loader
> (by patching grub etc.) can be a more general solution here as it
> avoids hangs if the kernel crashes before it runs the watchdog driver,
> which is especially true if PXE loaded across the net for example.
> Also this tends to be better spaced between boot start and user space loading.
>

I understand. However, that is not always sufficient, and it may not work
well since grub would need to know about the actual watchdog hardware.
Also, there are systems where the time between "watchdog driver instantiated"
and "watchdog daemon started" is just too large for the maximum watchdog
hardware timeout.

The point here is that there _are_ many drivers which implement this
functionality in the driver code. Not counting the drivers I converted as an
exercise, "git grep mod_timer | cut -f1 -d: | sort -u | wc" in drivers/watchdog
suggests that there are 20 more drivers implementing their own heartbeat
management. With that, it just makes sense to move the functionality to
the infrastructure.

Thanks,
Guenter


  reply	other threads:[~2015-08-05  0:49 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-04  2:13 [PATCH 0/8] watchdog: Add support for keepalives triggered by infrastructure Guenter Roeck
2015-08-04  2:13 ` [PATCH 1/8] watchdog: watchdog_dev: Use single variable name for struct watchdog_device Guenter Roeck
2015-08-04 11:26   ` Uwe Kleine-König
2015-08-04  2:13 ` [PATCH 2/8] watchdog: Introduce hardware maximum timeout in watchdog core Guenter Roeck
2015-08-04 12:18   ` Uwe Kleine-König
2015-08-04 15:31     ` Guenter Roeck
2015-08-04 15:52       ` Uwe Kleine-König
2015-08-04 16:03         ` Guenter Roeck
2015-08-05  8:22           ` Uwe Kleine-König
2015-08-05  9:14             ` Guenter Roeck
2015-08-04  2:13 ` [PATCH 3/8] watchdog: Introduce WDOG_RUNNING flag Guenter Roeck
2015-08-04 12:25   ` Uwe Kleine-König
2015-08-04 15:41   ` Uwe Kleine-König
2015-08-04 15:56     ` Guenter Roeck
2015-08-04  2:13 ` [PATCH 4/8] watchdog: Make set_timeout function optional Guenter Roeck
2015-08-04 15:38   ` Uwe Kleine-König
2015-08-04 16:43     ` Guenter Roeck
2015-08-04  2:13 ` [PATCH 5/8] watchdog: imx2: Convert to use infrastructure triggered keepalives Guenter Roeck
2015-08-04 15:44   ` Uwe Kleine-König
2015-08-04  2:13 ` [PATCH 6/8] watchdog: retu: " Guenter Roeck
2015-08-04  2:13 ` [PATCH 7/8] watchdog: gpio_wdt: " Guenter Roeck
2015-08-04  2:13 ` [PATCH 8/8] watchdog: at91sam9: " Guenter Roeck
2015-08-04 11:24 ` [PATCH 0/8] watchdog: Add support for keepalives triggered by infrastructure Uwe Kleine-König
2015-08-04 15:01   ` Guenter Roeck
2015-08-04 23:43 ` Pádraig Brady
2015-08-05  0:49   ` Guenter Roeck [this message]
2015-08-05  7:36   ` Uwe Kleine-König
2015-08-05  7:50     ` Guenter Roeck
2015-08-05  8:27       ` Uwe Kleine-König
2015-08-05 17:13 ` David Teigland
2015-08-05 17:41   ` Guenter Roeck
2015-08-05 17:51     ` David Teigland
2015-08-05 19:01       ` Guenter Roeck
2015-08-05 19:51         ` David Teigland
2015-08-05 20:21           ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55C15D8F.4020009@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=P@draigBrady.com \
    --cc=corbet@lwn.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=timo.kokkonen@offcode.fi \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=wim@iguana.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox