Skip to content
Snippets Groups Projects
Commit 4302fbc8 authored by Hugh Dickins's avatar Hugh Dickins Committed by Linus Torvalds
Browse files

panic: panic=-1 for immediate reboot


When a kernel BUG or oops occurs, ChromeOS intends to panic and
immediately reboot, with stacktrace and other messages preserved in RAM
across reboot.

But the longer we delay, the more likely the user is to poweroff and
lose the info.

panic_timeout (seconds before rebooting) is set by panic= boot option or
sysctl or /proc/sys/kernel/panic; but 0 means wait forever, so at
present we have to delay at least 1 second.

Let a negative number mean reboot immediately (with the small cosmetic
benefit of suppressing that newline-less "Rebooting in %d seconds.."
message).

Signed-off-by: default avatarHugh Dickins <hughd@chromium.org>
Signed-off-by: default avatarMandeep Singh Baines <msb@chromium.org>
Cc: Huang Ying <ying.huang@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Olaf Hering <olaf@aepfle.de>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Dave Airlie <airlied@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3f0fb4e8
No related merge requests found
...@@ -1846,7 +1846,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. ...@@ -1846,7 +1846,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
See Documentation/sound/oss/oss-parameters.txt See Documentation/sound/oss/oss-parameters.txt
panic= [KNL] Kernel behaviour on panic: delay <timeout> panic= [KNL] Kernel behaviour on panic: delay <timeout>
seconds before rebooting timeout > 0: seconds before rebooting
timeout = 0: wait forever
timeout < 0: reboot immediately
Format: <timeout> Format: <timeout>
parkbd.port= [HW] Parallel port number the keyboard adapter is parkbd.port= [HW] Parallel port number the keyboard adapter is
......
...@@ -119,6 +119,8 @@ NORET_TYPE void panic(const char * fmt, ...) ...@@ -119,6 +119,8 @@ NORET_TYPE void panic(const char * fmt, ...)
} }
mdelay(PANIC_TIMER_STEP); mdelay(PANIC_TIMER_STEP);
} }
}
if (panic_timeout != 0) {
/* /*
* This will not be a clean reboot, with everything * This will not be a clean reboot, with everything
* shutting down. But if there is a chance of * shutting down. But if there is a chance of
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment