git: 84ec7df0d796 - main - Add kern.reboot_wait_time sysctl
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 19 Jul 2022 00:23:40 UTC
The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=84ec7df0d796ddab6301817e12904762e2724c8e commit 84ec7df0d796ddab6301817e12904762e2724c8e Author: Colin Percival <cperciva@FreeBSD.org> AuthorDate: 2022-07-13 00:42:26 +0000 Commit: Colin Percival <cperciva@FreeBSD.org> CommitDate: 2022-07-19 00:23:25 +0000 Add kern.reboot_wait_time sysctl Historic FreeBSD behaviour (dating back to 1994-04-02) when rebooting is to print "Rebooting..." and then /* wait 1 sec for printf's to complete and be read */ Prior to April 1994, there was a 100 ms delay (added 1993-11-12). Since (a) most users will already be aware that the system is rebooting and do not need to take time to read an additional message to that effect, and (b) most FreeBSD systems don't have anyone actively looking at the console anyway, this delay no longer serves much purpose. This commit adds a kern.reboot_wait_time sysctl which defaults to 0; historic behaviour can be regained by setting it to 1. Reviewed by: imp Relnotes: FreeBSD now reboots faster; to restore the traditional wait after printing "Rebooting..." to the console, set kern.reboot_wait_time=1 (or more). Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D35796 --- sys/kern/kern_shutdown.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c index 87afc175a72d..ab37b54667f9 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -111,6 +111,10 @@ static int panic_reboot_wait_time = PANIC_REBOOT_WAIT_TIME; SYSCTL_INT(_kern, OID_AUTO, panic_reboot_wait_time, CTLFLAG_RWTUN, &panic_reboot_wait_time, 0, "Seconds to wait before rebooting after a panic"); +static int reboot_wait_time = 0; +SYSCTL_INT(_kern, OID_AUTO, reboot_wait_time, CTLFLAG_RWTUN, + &reboot_wait_time, 0, + "Seconds to wait before rebooting"); /* * Note that stdarg.h and the ANSI style va_start macro is used for both @@ -710,7 +714,7 @@ shutdown_reset(void *junk, int howto) { printf("Rebooting...\n"); - DELAY(1000000); /* wait 1 sec for printf's to complete and be read */ + DELAY(reboot_wait_time * 1000000); /* * Acquiring smp_ipi_mtx here has a double effect: