Re: handling watchdog in SMP

From: Kumar Gala
Date: Wed Apr 23 2008 - 09:22:49 EST



On Oct 25, 2007, at 2:37 PM, Wim Van Sebroeck wrote:
Hi Kumar,

I was hoping to get some ideas on how to handle the watchdog timers
we have on some embedded PPC (booke_wdt.c) cores when we are in a SMP
system.

The problem is since the watchdog is part of the processor core
depending on which processor a given system call is executed at we
might get different behavior. It seems like we would want to mirror
the actions to both cores (via smp_call_function).

Looking at the file ops we currently support in booke_wdt.c it seems
like we could mirror the actions for booke_wdt_write()/booke_wdt_ping
() to both cores and ensure when we set something like
WDIOC_SETTIMEOUT we set the registers in both processors.

I was wondering if anyone had any other ideas or if this model seems
to work.

I see 2 ways to go:
1) short term: make sure that your actions are duplicated to both cores
(like you said). At least then you are protected if your complete system
crashes.
2) I'm working on the uniform/generic watchdog device driver. Phase 1 is
the "new" api and the /dev/watchdog handling. Phase 2 is a sysfs interface.
Phase 3 is to allow multiple devices (and there I'm still thinking about
how the /dev/watchdog interface should work).
But the general idea is to allow at least the control of each watchdog
device by the sysfs interface.

I haven't been following watchdog subsystem development and was wondering if any progress has been made on #2?

- k
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/