ipmi watchdog : add panic_wdt_timeout parameter
In order to allow panic actions to be processed, the ipmi watchdog driver sets a new timeout value on panic. The 255s timeout was designed to allow kdump and others actions on panic, as in http://lkml.iu.edu/hypermail/linux/kernel/0711.3/0258.html This is counter-intuitive for a end-user who sets watchdog timeout value to something like 30s and who expects BMC to reset the system within 30s of a panic. This commit allows user to configure the timeout on panic. Signed-off-by: Jean-Yves Faye <jean-yves.faye@c-s.fr> Signed-off-by: Corey Minyard <cminyard@mvista.com>
This commit is contained in:

committed by
Corey Minyard

parent
66f4401830
commit
c7f42c6390
@@ -153,6 +153,9 @@ static int timeout = 10;
|
||||
/* The pre-timeout is disabled by default. */
|
||||
static int pretimeout;
|
||||
|
||||
/* Default timeout to set on panic */
|
||||
static int panic_wdt_timeout = 255;
|
||||
|
||||
/* Default action is to reset the board on a timeout. */
|
||||
static unsigned char action_val = WDOG_TIMEOUT_RESET;
|
||||
|
||||
@@ -293,6 +296,9 @@ MODULE_PARM_DESC(timeout, "Timeout value in seconds.");
|
||||
module_param(pretimeout, timeout, 0644);
|
||||
MODULE_PARM_DESC(pretimeout, "Pretimeout value in seconds.");
|
||||
|
||||
module_param(panic_wdt_timeout, timeout, 0644);
|
||||
MODULE_PARM_DESC(timeout, "Timeout value on kernel panic in seconds.");
|
||||
|
||||
module_param_cb(action, ¶m_ops_str, action_op, 0644);
|
||||
MODULE_PARM_DESC(action, "Timeout action. One of: "
|
||||
"reset, none, power_cycle, power_off.");
|
||||
@@ -1189,7 +1195,7 @@ static int wdog_panic_handler(struct notifier_block *this,
|
||||
/* Make sure we do this only once. */
|
||||
panic_event_handled = 1;
|
||||
|
||||
timeout = 255;
|
||||
timeout = panic_wdt_timeout;
|
||||
pretimeout = 0;
|
||||
panic_halt_ipmi_set_timeout();
|
||||
}
|
||||
|
Reference in New Issue
Block a user