What | Removed | Added |
---|---|---|
Flags | needinfo?(bpetkov@suse.com) |
(In reply to Borislav Petkov from comment #11) > (In reply to Thomas Blume from comment #10) > > You hit the nail. > > The watchdog test takes ages. > > I C. > > > The only question is now why it takes so long on SUSE whereas on > > RH/Debian 10s are apparently sufficient. > > Add more debugging output :-) Here is a summary of my findings: The code sets the watchdog timeout and then does a loop for pinging the watchdog 5 times. On each iteration it sleeps for half of the watchdog timeout. The watchdog_ping function opens the watchdog but doesn't call watchdog_close after the ping is finished. Only the watchdog_close function contains the code to stop the watchdog timer with the methods mentioned in commment#6. This function is called only after the loop has finished which summarizes to a minimum time of 5*watchdog_timeout/2 for the test. Obviously this much too high for the timeout. Boris, I'm wondering when exactly the watchdog timer starts counting down. Is it when opening /dev/watchdog or when doing the ping (ioctl(watchdog_fd, WDIOC_KEEPALIVE, 0) or something else?