Re: [PATCH] printk: Document that CONFIG_BOOT_PRINTK_DELAY required for boot_delay=

From: Randy Dunlap
Date: Mon Jan 23 2023 - 16:28:12 EST




On 1/23/23 12:44, Bjorn Helgaas wrote:
> On Mon, Jan 23, 2023 at 06:18:26PM +0000, Matthew Wilcox wrote:
>> On Mon, Jan 23, 2023 at 12:04:40PM -0600, Bjorn Helgaas wrote:
>>> From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>>>
>>> Document the fact that CONFIG_BOOT_PRINTK_DELAY must be enabled for the
>>> "boot_delay" kernel parameter to work. Also mention that "lpj=" may be
>>> necessary.
>>>
>>> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>>> ---
>>> Documentation/admin-guide/kernel-parameters.txt | 5 +++--
>>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
>>> index 6cfa6e3996cf..b0b40b6a765c 100644
>>> --- a/Documentation/admin-guide/kernel-parameters.txt
>>> +++ b/Documentation/admin-guide/kernel-parameters.txt
>>> @@ -480,8 +480,9 @@
>>> See Documentation/block/cmdline-partition.rst
>>>
>>> boot_delay= Milliseconds to delay each printk during boot.
>>> - Values larger than 10 seconds (10000) are changed to
>>> - no delay (0).
>>> + Enable CONFIG_BOOT_PRINTK_DELAY and also specify
>>> + "lpj=". Boot_delay values larger than 10 seconds
>>> + (10000) are changed to no delay (0).
>>
>> That's counterintuitive. I'd understand clamping it to 10 seconds,
>> but not setting it to zero.
>
> I'm not opposed to setting it to 10 sec instead of 0, but that came
> from bfe8df3d314b ("slow down printk during boot"); added Randy in
> case he wants to comment.

I'm not opposed to a patch that clamps the max boot_delay to 10 seconds.
I expect that my thinking in 2007 was that any larger value was just some
random/garbage value so it should be ignored.

>> Also, there are two ways of reading this. One is that by specifying
>> boot_delay=, lpj= is set to a sane value. The other (intended?) is
>> that in order to use this option, you must also specify lpj=.

You probably should specify lpj= (e.g., from some previous boot log),
as indicated in the BOOT_PRINTK_DELAY Kconfig help text in
lib/Kconfig.debug.

> Maybe this is better?
>
> boot_delay= Milliseconds to delay each printk during boot.
> - Values larger than 10 seconds (10000) are changed to
> - no delay (0).
> + Only works if CONFIG_BOOT_PRINTK_DELAY is enabled,
> + and you may also have to specify "lpj=". Boot_delay
> + values larger than 10 seconds (10000) are changed
> + to no delay (0).
> Format: integer

That's fine with me.

--
~Randy