Re: [boot-time]

Marko Hoyer <[email protected]> Wed, 8 Jan 2025 21:39:53 +0100
Newsgroups org.kernel.vger.linux-embedded
Message-ID <[email protected]>
Am 08.01.25 um 19:33 schrieb Bird, Tim:
>> -----Original Message-----
>> From: Shankari <[email protected]>
>> Hi
>>
>> I wanted to provide an update on my recent contributions to the boot-time reduction project. I have recently started contributing and
>> am working with the beagleplay. I have been analyzing the boot time of the init process. Below is the output from the system log:
>>
>> debian@BeaglePlay:~$ dmesg | grep "init process"
>> [    1.480490] Run /init as init process
>>
>> Moving forward, I plan to explore ways to modify the command line and further investigate the data used for SIG analysis. This will
>> help me gain a deeper understanding of the boot process and its performance characteristics.
>>
>> Please let me know if you have any suggestions or areas where I could focus my efforts.
> Hi Shankari,
>
> It sounds like you are off to a good start.  I have something that needs to be done, that I think
> you can help with, and that matches where I believe you are in your status with being able
> to evaluate the kernel.
>
> In general, there's a lot of information on the elinux wiki which is stale, which needs to be
> updated or archived, or maybe even just removed.
>
> This section of the Boot Time page has a lot of material in this category:
> https://elinux.org/Boot_Time#kernel_speedups
>
> Can you validate the information on these 2 pages:
>   * https://elinux.org/Disable_Console
>   * https://elinux.org/Preset_LPJ
>
> This would consist of reading through the material, and testing the
> described techniques on your machine.  This will involve booting the
> machine 2 ways, with a particular kernel command line option and without
> it, and then reporting back the final boot time for both.  You can use
> the timestamp for the "init process" string as your final boot time, for the
> purposes of this exercise.
>
> Helping me to update the elinux wiki material on boot time would be
> an immense help, and is one of my main goals for the boot time SIG in 2025.
>
> Don't hesitate to ask questions if you have any.
>
> BTW - you can just report your findings to me and linux-embedded list, but
> alternatively (and even better) would be if you could also update the wiki
> pages themselves with your information based on recent kernels and hardware.
> To do this, you will need an elinux wiki account, which you can make online on
> elinux wiki.org by going to this page: https://elinux.org/Special:CreateAccount
>
> Anyone else reading this who wants to also participate in this project to
> update the elinux wiki boot time information, please contact me.
> Thanks.
>    -- Tim
>
Hi Tim, all,

first time I'm posting here so hopefully everything is fine w/ my mail 
format / attachment and so on ... If not, please give me some feedback 
and guidance.


To the "disable console" topic: I have some numbers in place for an RPI 
Zero W, find dmesg dumps and systemd-analyze plots attached.


Environment:

- RPi Zero W, kernel 5.15.24, systemd 247.3, customized debian

- onboard UART used


Cases:

- #1 quiet: cmdline w/ quiet, no kernel or userspace output up to the 
serial login console

- #2 normal: cmdline w/o quiet, serial console @115200 baud

- #3 normal_baud9600: cmdline w/o quiet, serial console @9600 baud


Main outcomes:

- kernel timestamps "Run /sbin/init as init process"

#1: "1.714458", #2: "3.011701", #3: "16.108101"

Interpretation:

* enabled serial console has significant impact in kernel boot time

* reducing baud to 9600 induced some side effect, not sure what it is ...

-  systemd startup

* systemd drops 2 log lines per started unit to the console

* seems serial output is not implemented asynchronously (see steps of 
units in sd plot, ~10ms per unit w/ baud 115200, ~80ms per unit w/ baud9600


Side notes:

* I remember similar behavior w/ imx.6 SoCs

* Maybe this issues is not seen on other SoCs (maybe w/ another hw 
implementation of the UART)

* Maybe this issues is only seen in single core machines (I can double 
check w/ a PI3 or orange pi zero once)

Hope this helps.

Regards,

Marko
fastboot_disable-console_rpi-zero-w.tgz (application/x-compressed-tar, 24.6 KB) - not displayed