reboot when panic_timout is set
PATCH 1/1 reboot when panic_timout is set
Only call into RTAS when booted with panic=0 because the RTAS call does not return. The system has to be rebooted via the HMC or via the management console right now. This is cumbersome and not what the default panic=180 is supposed to do.
--- arch/powerpc/kernel/rtas.c | 3 +++ 1 file changed, 3 insertions(+)
arch/powerpc/kernel/rtas.c +3 -0
@@ -628,6 +628,9 @@ void rtas_os_term(char *str) {int status; +if (panic_timeout) +return ; +if (RTAS_UNKNOWN_SERVICE ==rtas_token ("ibm,os-term" ))return ;
Quoted 5 lines · Olaf Hering
Only call into RTAS when booted with panic=0 because the RTAS call does not return. The system has to be rebooted via the HMC or via the management console right now. This is cumbersome and not what the default panic=180 is supposed to do.
The os-term call is supposed to indicate to the platform that it should follow it's abnormal OS termination policy. I normally set my partitions to reboot immediately after an os-term call. I believe that "/usr/sbin/serv_config -b" (installed with powerpc-utils-papr) is used to set that policy from the command line.
In general, I think it's best to have the OS follow the policy stored on the platform whenever possible. Some systems can be configured to perform system administrator calls/pages, and there may be some other configurable options, too; it would be a shame to have a sysadmin set up an automatic reboot and a page, and have neither happen because he didn't know that the default OS policy of a three-minute reboot overrode the policy he just defined.
Thanks,
Mike
Quoted 26 lines
Signed-off-by Olaf Hering <[email protected]>---
arch/powerpc/kernel/rtas.c| 3 +++1 file changed, 3 insertions(+)Index:
linux-2.6.18-rc4/arch/powerpc/kernel/rtas.c
===================================================================arch/powerpc/kernel/rtas.c +3
-0@@ -628,6 +628,9 @@ void rtas_os_term(char *str) {int status; +if (panic_timeout) +return ; +if (RTAS_UNKNOWN_SERVICE ==rtas_token ("ibm,os-term" ))return ;_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Quoted 9 lines · Mike Strosaker
Quoted 7 lines · Olaf Hering
Only call into RTAS when booted with panic=0 because the RTAS call does not return.
The system has to be rebooted via the HMC or via the management console right now.
This is cumbersome and not what the default panic=180 is supposed to do.
Quoted 5 lines
The os-term call is supposed to indicate to the platform that it should follow it's abnormal OS termination policy. I normally set my partitions to reboot immediately after an os-term call. I believe that "
/usr/sbin/serv_config-b" (installed with powerpc-utils-papr) is used to set that policy from the command line.
That doesnt help me at all if the kernel crashes before it reaches /init. And if one has to call a binary anyway to set or upgrade the policy, this binary can also set /proc/sys/kernel/panic to 0.
Do I have to set it for each boot, or is a change permanent?
Quoted 10 lines · Olaf Hering
Quoted 8 lines · Mike Strosaker
Quoted 5 lines · Olaf Hering
Only call into RTAS when booted with panic=0 because the RTAS call does not return. The system has to be rebooted via the HMC or via the management console right now. This is cumbersome and not what the default panic=180 is supposed to do.
Quoted 9 lines
Quoted 3 lines
The os-term call is supposed to indicate to the platform that it should follow it's abnormal OS termination policy. I normally set my partitions to reboot immediately after an os-term call. I believe that "
/usr/sbin/serv_config-b" (installed with powerpc-utils-papr) is used to set that policy from the command line.That doesnt help me at all if the kernel crashes before it reaches /init. And if one has to call a binary anyway to set or upgrade the policy, this binary can also set
/proc/sys/kernel/panicto 0.
Hmm... I thought there was a way to modify the reboot policy from SMS or the OF command line, but I can't find a way offhand. I'm trying to find out from the firmware people here. It used to be an NVRAM variable in one of the partitions visible to the OS (and so changable from OF with the setenv command), but that's not the case anymore; it's now modified by the ibm,set-system-parameter RTAS call.
Quoted 3 lines
Do I have to set it for each boot, or is a change permanent?
The change is stored in NVRAM, and thus is persistent across reboots.