From nobody Sun Jun 14 04:20:27 2026 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21E043A7F4C for ; Sun, 3 May 2026 21:42:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.133 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777844540; cv=none; b=BUJvVVyWQoRTCwYlpB4mYgnHuvdSy7r3pqoFefAwWm3qhxrMgbbdOhrjWEfLydAo74gv7dyE1LBjcUj7wTrqXrQMkFHsG8v6fxyFx71m02S6v/U58tandUJslPGqza7AZUZlcMef14WXUtqLH49hb070qnSW1beHISDYKB+3ekk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777844540; c=relaxed/simple; bh=wGZTDS9Bzpeg6EOubq7XPAoGy7QdYwk/7GcBrR8sZnc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=FwbshMNPD7wRm5MDtTKtiGfMTwzOnU9q0OOGNp0eJnIK4dU/4h1r6eAWofmMoUMddAsDDTb31AaUPM8sGL+P5aZVYIMv89eTa2mtsfiv0ytOsabPrPUfYdDUW7iKqHJJyNlLFkCuQCr8YZWdXXXW0Rqlw1yLEAIDWCctARSpayQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=infradead.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=JBF8FkUa; arc=none smtp.client-ip=198.137.202.133 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=infradead.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="JBF8FkUa" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=ylGhPogPdvQ9Ms4MmL9aBfryjCEpoixYIBwvNlno5/s=; b=JBF8FkUa/4bDwwpsuy6M8PWvjv sN1blNoFhnGfTOKJeRorWRcMl+sS9cnmp98bwU3Q3OHHDGm6cNcjrEIT1PfwcsHKE9tJlyNqXOkD/ h7rP7n8g/uT/L6QSsfPhmWkZlOwBIB9rkc5xfjXmh6WehY2NTb2uSbWyPsScDj3kD0rWNDDtnHbPF ouwV7zqD9D2ucZjCByFjnjtkQtD4PkHhtmCaLx9GdzYMcRLa6fcsMGaNKQXiKqLsc7p7YOpWtPrHD Zae0iKQsTcIxaH9Xm+g1brRUGaeFXtxD2/4PiJjg7QI17UFc3/UUJ5Z5k/jLezY81wnvAgCAifm6z e4PJKkOw==; Received: from [50.53.43.113] (helo=bombadil.infradead.org) by bombadil.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux)) id 1wJeZq-0000000Bn2Q-2iOs; Sun, 03 May 2026 21:42:14 +0000 From: Randy Dunlap To: linux-kernel@vger.kernel.org Cc: Randy Dunlap , Petr Mladek , Steven Rostedt , John Ogness , Sergey Senozhatsky , Andrew Morton , bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH] printk: remove BOOT_PRINTK_DELAY config Date: Sun, 3 May 2026 14:42:14 -0700 Message-ID: <20260503214214.3475670-1-rdunlap@infradead.org> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This boot option is ancient and probably not being used. Dave Jones used it successfully maybe 15 years ago... AFAIK it doesn't work reliably, especially on SMP. Signed-off-by: Randy Dunlap --- Cc: Petr Mladek Cc: Steven Rostedt Cc: John Ogness Cc: Sergey Senozhatsky Cc: Andrew Morton Cc: bcm-kernel-feedback-list@broadcom.com Cc: linux-rpi-kernel@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Documentation/admin-guide/kernel-parameters.txt | 8 - arch/arm/configs/bcm2835_defconfig | 1=20 kernel/printk/printk.c | 57 -------------- lib/Kconfig.debug | 18 ---- 4 files changed, 84 deletions(-) --- linux-next-20260429.orig/kernel/printk/printk.c +++ linux-next-20260429/kernel/printk/printk.c @@ -1289,61 +1289,6 @@ static bool suppress_message_printing(in return (level >=3D console_loglevel && !ignore_loglevel); } =20 -#ifdef CONFIG_BOOT_PRINTK_DELAY - -static int boot_delay; /* msecs delay after each printk during bootup */ -static unsigned long long loops_per_msec; /* based on boot_delay */ - -static int __init boot_delay_setup(char *str) -{ - unsigned long lpj; - - lpj =3D preset_lpj ? preset_lpj : 1000000; /* some guess */ - loops_per_msec =3D (unsigned long long)lpj / 1000 * HZ; - - get_option(&str, &boot_delay); - if (boot_delay > 10 * 1000) - boot_delay =3D 0; - - pr_debug("boot_delay: %u, preset_lpj: %ld, lpj: %lu, " - "HZ: %d, loops_per_msec: %llu\n", - boot_delay, preset_lpj, lpj, HZ, loops_per_msec); - return 0; -} -early_param("boot_delay", boot_delay_setup); - -static void boot_delay_msec(int level) -{ - unsigned long long k; - unsigned long timeout; - bool suppress =3D !is_printk_force_console() && - suppress_message_printing(level); - - if ((boot_delay =3D=3D 0 || system_state >=3D SYSTEM_RUNNING) || suppress) - return; - - k =3D (unsigned long long)loops_per_msec * boot_delay; - - timeout =3D jiffies + msecs_to_jiffies(boot_delay); - while (k) { - k--; - cpu_relax(); - /* - * use (volatile) jiffies to prevent - * compiler reduction; loop termination via jiffies - * is secondary and may or may not happen. - */ - if (time_after(jiffies, timeout)) - break; - touch_nmi_watchdog(); - } -} -#else -static inline void boot_delay_msec(int level) -{ -} -#endif - static bool printk_time =3D IS_ENABLED(CONFIG_PRINTK_TIME); module_param_named(time, printk_time, bool, S_IRUGO | S_IWUSR); =20 @@ -2121,8 +2066,6 @@ int printk_delay_msec __read_mostly; =20 static inline void printk_delay(int level) { - boot_delay_msec(level); - if (unlikely(printk_delay_msec)) { int m =3D printk_delay_msec; =20 --- linux-next-20260429.orig/lib/Kconfig.debug +++ linux-next-20260429/lib/Kconfig.debug @@ -99,24 +99,6 @@ config MESSAGE_LOGLEVEL_DEFAULT by default. To change that, use loglevel=3D in the kernel bootargs, or pick a different CONSOLE_LOGLEVEL_DEFAULT configuration value. =20 -config BOOT_PRINTK_DELAY - bool "Delay each boot printk message by N milliseconds" - depends on DEBUG_KERNEL && PRINTK && GENERIC_CALIBRATE_DELAY - help - This build option allows you to read kernel boot messages - by inserting a short delay after each one. The delay is - specified in milliseconds on the kernel command line, - using "boot_delay=3DN". - - It is likely that you would also need to use "lpj=3DM" to preset - the "loops per jiffy" value. - See a previous boot log for the "lpj" value to use for your - system, and then set "lpj=3DM" before setting "boot_delay=3DN". - NOTE: Using this option may adversely affect SMP systems. - I.e., processors other than the first one may not boot up. - BOOT_PRINTK_DELAY also may cause LOCKUP_DETECTOR to detect - what it believes to be lockup conditions. - config DYNAMIC_DEBUG bool "Enable dynamic printk() support" default n --- linux-next-20260429.orig/Documentation/admin-guide/kernel-parameters.txt +++ linux-next-20260429/Documentation/admin-guide/kernel-parameters.txt @@ -654,14 +654,6 @@ Kernel parameters embedded devices based on command line input. See Documentation/block/cmdline-partition.rst =20 - boot_delay=3D [KNL,EARLY] - Milliseconds to delay each printk during boot. - Only works if CONFIG_BOOT_PRINTK_DELAY is enabled, - and you may also have to specify "lpj=3D". Boot_delay - values larger than 10 seconds (10000) are assumed - erroneous and ignored. - Format: integer - bootconfig [KNL,EARLY] Extended command line options can be added to an initrd and this will cause the kernel to look for it. --- linux-next-20260429.orig/arch/arm/configs/bcm2835_defconfig +++ linux-next-20260429/arch/arm/configs/bcm2835_defconfig @@ -174,7 +174,6 @@ CONFIG_NLS_UTF8=3Dy CONFIG_DMA_CMA=3Dy CONFIG_CMA_SIZE_MBYTES=3D32 CONFIG_PRINTK_TIME=3Dy -CONFIG_BOOT_PRINTK_DELAY=3Dy CONFIG_DYNAMIC_DEBUG=3Dy CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=3Dy # CONFIG_ENABLE_MUST_CHECK is not set