[systemd-devel] Hardware watchdog support, slug speed.
seblu at seblu.net
Mon Mar 11 16:53:46 PDT 2013
On Mon, Mar 11, 2013 at 11:57 PM, Zbigniew Jędrzejewski-Szmek
<zbyszek at in.waw.pl> wrote:
> On Mon, Mar 11, 2013 at 11:46:55PM +0100, Lennart Poettering wrote:
>> On Mon, 11.03.13 23:42, Zbigniew Jędrzejewski-Szmek (zbyszek at in.waw.pl) wrote:
>> > On Mon, Mar 11, 2013 at 11:11:19PM +0100, Sébastien Luttringer wrote:
>> > > After reexecuting the daemon, I got the following info in the journal.
>> Humm the ioctl() is supposed to be cheap. And it is on all hw I have
>> tested it with. It appears that ob the hw in question it is not so
>> cheap, but that really sounds like a driver issue to me.
> It is definitely not cheap:
> static void wdt_send_data(unsigned char command, unsigned char data)
> outb(data, DATA_PORT);
> outb(command, COMMAND_PORT);
Nice ! This explain why it's so sensitive with this hardware. I see
there is others drivers doing this.
rwolf ~/scm/misc/linux/drivers/watchdog $ git grep sleep|cat
pc87413_wdt.c: pr_info("Watchdog disabled, sleeping again...\n");
smsc37b787_wdt.c: pr_info("Watchdog disabled, sleeping again...\n");
smsc37b787_wdt.c: pr_info("Watchdog initialized and sleeping
I'm not sure ioctl to watchdog API can be considered as nonblocking
and can be used in an event loop calmly.
> Looking at 'git log drivers/watchdog/sbc_fitpc2_wdt.c', this board is
> prone to hanging if not treated very carefully. Hence probably those
> sleeps in there. If is a driver/hardward issue to some extent. The question
> is whether it makes sense to support it.
Honoring the configuration file, allow without effort to support all watchdog.
Sébastien "Seblu" Luttringer
More information about the systemd-devel