mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/2] panic: panic=-1 for immediate reboot
@ 2011-07-15 22:39 Mandeep Singh Baines
  2011-07-15 22:40 ` [PATCH 2/2] panic, vt: do not force oops output when panic_timeout < 0 Mandeep Singh Baines
  2011-07-15 22:56 ` [PATCH 1/2] panic: panic=-1 for immediate reboot Mandeep Singh Baines
  0 siblings, 2 replies; 5+ messages in thread
From: Mandeep Singh Baines @ 2011-07-15 22:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: Hugh Dickins, Mandeep Singh Baines, Andrew Morton, Huang Ying,
	Andi Kleen, Hugh Dickins, Olaf Hering, Jesse Barnes, Dave Airlie,
	Greg Kroah-Hartman, Alan Cox

From: Hugh Dickins <hughd@chromium.org>

When 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: Hugh Dickins <hughd@chromium.org>
Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Cc: Andrew Morton <akpm@linux-foundation.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>
---
 kernel/panic.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/kernel/panic.c b/kernel/panic.c
index 6923167..d7bb697 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -119,6 +119,8 @@ NORET_TYPE void panic(const char * fmt, ...)
 			}
 			mdelay(PANIC_TIMER_STEP);
 		}
+	}
+	if (panic_timeout != 0) {
 		/*
 		 * This will not be a clean reboot, with everything
 		 * shutting down.  But if there is a chance of
-- 
1.7.3.1


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [PATCH 1/2] panic: panic=-1 for immediate reboot
@ 2011-07-15 22:53 Mandeep Singh Baines
  2011-07-15 22:53 ` [PATCH 2/2] panic, vt: do not force oops output when panic_timeout < 0 Mandeep Singh Baines
  0 siblings, 1 reply; 5+ messages in thread
From: Mandeep Singh Baines @ 2011-07-15 22:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Hugh Dickins, Mandeep Singh Baines, Andrew Morton, Huang Ying,
	Andi Kleen, Hugh Dickins, Olaf Hering, Jesse Barnes, Dave Airlie,
	Greg Kroah-Hartman, Alan Cox

From: Hugh Dickins <hughd@chromium.org>

When 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: Hugh Dickins <hughd@chromium.org>
Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Cc: Andrew Morton <akpm@linux-foundation.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>
---
 Documentation/kernel-parameters.txt |    4 +++-
 kernel/panic.c                      |    2 ++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index aa47be7..4f42fc7 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1846,7 +1846,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 			See Documentation/sound/oss/oss-parameters.txt
 
 	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>
 
 	parkbd.port=	[HW] Parallel port number the keyboard adapter is
diff --git a/kernel/panic.c b/kernel/panic.c
index 6923167..d7bb697 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -119,6 +119,8 @@ NORET_TYPE void panic(const char * fmt, ...)
 			}
 			mdelay(PANIC_TIMER_STEP);
 		}
+	}
+	if (panic_timeout != 0) {
 		/*
 		 * This will not be a clean reboot, with everything
 		 * shutting down.  But if there is a chance of
-- 
1.7.3.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-07-15 23:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-15 22:39 [PATCH 1/2] panic: panic=-1 for immediate reboot Mandeep Singh Baines
2011-07-15 22:40 ` [PATCH 2/2] panic, vt: do not force oops output when panic_timeout < 0 Mandeep Singh Baines
2011-07-15 22:56 ` [PATCH 1/2] panic: panic=-1 for immediate reboot Mandeep Singh Baines
2011-07-15 22:53 Mandeep Singh Baines
2011-07-15 22:53 ` [PATCH 2/2] panic, vt: do not force oops output when panic_timeout < 0 Mandeep Singh Baines
2011-07-15 23:15   ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®