watchdog pet in kernel module
htmldeveloper at gmail.com
Wed Dec 4 20:42:30 EST 2013
On Thu, Dec 5, 2013 at 8:45 AM, Vipul Jain <vipulsj at gmail.com> wrote:
> On Tue, Dec 3, 2013 at 10:28 PM, Peter Teoh <htmldeveloper at gmail.com>wrote:
>> Hi Vipul,
>> I have seen this in a number of commercial software running on RHEL, and
>> on other realtime OS as well. The watchdog mechanism is always working in
>> pair: userspace "feeding" the dog (in the kernel). (btw, feed the dog
>> is a more usually used term than "pet" the dog. sorry for that. google
>> for that and perhaps you can get more info?).
>> Like Valdis said, this way you will know when userspace hang, which is
>> the key criteria for reboot. Why do u want to detect if the kernel hang
>> (versus busy doing something)? Theoretically that is not possible,
>> especially when all interrupt are disabled.
>>> Hi Peter,
> If you don't mind can you please provide me more insight as what can be
> false alarm I can encounter to move pet inside kernel module?
"Feeding the dog" is simply a periodic timer that wakes up and set a
variable. By the fact that the variable can be set/reset, also means that
the periodic timer IS working. In userspace, if you just have one process
to "feed the watchdog", then essentially we are monitoring whether
system-wide the performance overall is good enough so that the periodic
timer can be woken up at the required interval to reset the variable. If
some process hung, it MAY or MAY not affect the periodicity of this timer
But if you have the timer embedded inside a particular high priority
process you want to monitor, and if it hung, and "feeding the watchdog"
will not execute, and the kernel will reboot you (read below - search
and more insights:
(and lots of the "RELATED" questions at the side of the above page as well.)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Kernelnewbies