Re: [RFC] BOOKE watchdog and kexec
From: Dave Jiang <hidden>
Date: 2007-05-23 00:29:15
Geoff Levand wrote:
Dave Jiang wrote:quoted
What would be the appropriate way to deal with the BOOKE watchdog in order to properly kexec? The BOOKE watchdog cannot be disabled. With the current implementation, a watchdog daemon in userland is required to poke the /dev/watchdog continously in order to keep it from going off. In the kexec situation, the watchdog daemon in userland goes away when the new kernel is executed. It is very possible that the new kernel can potentially timeout on a certain hardware device initialization (i.e. SCSI discovery/timeout) and causes the watchdog to go off and reset the hardware. The reset is of course not wanted in this situation.I would think the same situation exists when the bootloader loads the first kernel. If that works, then you should be able to use the same mechanism to get the second kernel up. -Geoff
Not really. The bootloader starts from a hardware reset. The watchdog is off from a hardware reset. The kernel driver has to specifically turn the watchdog on either via kernel command line or by opening the watchdog device /dev/watchdog right now. So technically this issue already exists even without kexec. If the watchdog is turned on via kernel parameter and we hit a device initialization timeout that takes too long, then we will get a watchdog reset. There is a period of uncertainty between the watchdog turning on and when the userland watchdog daemon is started with the current implementation. -- ------------------------------------------------------ Dave Jiang Software Engineer MontaVista Software, Inc. http://www.mvista.com ------------------------------------------------------