[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 5 May 2017 14:41:23 -0500
From: Corey Minyard <minyard@....org>
To: Valentin Vidic <Valentin.Vidic@...Net.hr>,
openipmi-developer@...ts.sourceforge.net,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ipmi/watchdog: fix watchdog timeout set on reboot
On 05/05/2017 02:07 PM, Valentin Vidic wrote:
> systemd by default starts watchdog on reboot and sets the timer to
> ShutdownWatchdogSec=10min. Reboot handler in ipmi_watchdog than reduces
> the timer to 120s which is not enough time to boot a Xen machine with
> a lot of RAM. As a result the machine is rebooted the second time
> during the long run of (XEN) Scrubbing Free RAM.....
>
> Fix this by setting the timer to 120s only if it was previously
> set to a low value.
Yeah, you are probably right. In queue for 4.13.
-corey
> Signed-off-by: Valentin Vidic <Valentin.Vidic@...Net.hr>
> ---
> drivers/char/ipmi/ipmi_watchdog.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c
> index d165af8abe36..4161d9961a24 100644
> --- a/drivers/char/ipmi/ipmi_watchdog.c
> +++ b/drivers/char/ipmi/ipmi_watchdog.c
> @@ -1163,10 +1163,11 @@ static int wdog_reboot_handler(struct notifier_block *this,
> ipmi_watchdog_state = WDOG_TIMEOUT_NONE;
> ipmi_set_timeout(IPMI_SET_TIMEOUT_NO_HB);
> } else if (ipmi_watchdog_state != WDOG_TIMEOUT_NONE) {
> - /* Set a long timer to let the reboot happens, but
> - reboot if it hangs, but only if the watchdog
> + /* Set a long timer to let the reboot happen or
> + reset if it hangs, but only if the watchdog
> timer was already running. */
> - timeout = 120;
> + if (timeout < 120)
> + timeout = 120;
> pretimeout = 0;
> ipmi_watchdog_state = WDOG_TIMEOUT_RESET;
> ipmi_set_timeout(IPMI_SET_TIMEOUT_NO_HB);
Powered by blists - more mailing lists