• Dmitry Safonov's avatar
    watchdog: Add stop_on_reboot parameter to control reboot policy · 9232c806
    Dmitry Safonov authored
    Many watchdog drivers use watchdog_stop_on_reboot() helper in order
    to stop the watchdog on system reboot. Unfortunately, this logic is
    coded in driver's probe function and doesn't allows user to decide what
    to do during shutdown/reboot.
    
    On the other side, Xen and Qemu watchdog drivers (xen_wdt and i6300esb)
    may be configured to either send NMI or turn off/reboot VM as
    the watchdog action. As the kernel may stuck at any state, sending NMIs
    can't reliably reboot the VM.
    
    At Arista, we benefited from the following set-up: the emulated watchdogs
    trigger VM reset and softdog is set to catch less severe conditions to
    generate vmcore. Just before reboot watchdog's timeout is increased
    to some good-enough value (3 mins). That keeps watchdog always running
    and guarantees that VM doesn't stuck.
    
    Provide new stop_on_reboot module parameter to let user control
    watchdog's reboot policy.
    
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Wim Van Sebroeck <wim@linux-watchdog.org>
    Cc: linux-watchdog@vger.kernel.org
    Signed-off-by: default avatarDmitry Safonov <dima@arista.com>
    Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/20200223114939.194754-1-dima@arista.comSigned-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarWim Van Sebroeck <wim@linux-watchdog.org>
    9232c806
watchdog_core.c 12 KB