[systemd-devel] Systemd Boot Time Optimization

Dharma.B at microchip.com Dharma.B at microchip.com
Thu Jul 18 06:22:36 UTC 2024


Hi Everyone,

We have recently migrated from sysvinit to systemd on our platforms,
including sam9, sama5, and sama7 which feature various ARM architectures
such as ARMv5, Cortex-A5, and Cortex-A7.

We observed different performance levels across these architectures,
detailed as follows:

Performance comparison between three architectures using the
core-image-minimal recipe in Yocto Project with a high-speed HP 64GB XC
100MB/s SD card.

*******************************

ARMv5 - sam9

Startup finished in 2.113s (kernel) + 14.090s (userspace) = 16.203s
multi-user.target reached after 14.080s in userspace

Cortex-A5 - sama5

Startup finished in 2.254s (kernel) + 13.216s (userspace) = 15.470s
multi-user.target reached after 13.185s in userspace

Cortex A7 - sama7

Startup finished in 1.967s (kernel) + 6.302s (userspace) = 8.270s
multi-user.target reached after 6.271s in userspace

*******************************

We noted that the following services take significantly longer on the
ARMv5 and Cortex-A5 architectures:

root at sam9x60-curiosity-sd:~# systemd-analyze blame
6.984s dev-mmcblk0p2.device
5.120s systemd-udev-trigger.service
3.063s systemd-networkd.service
1.938s systemd-journald.service
1.850s systemd-timesyncd.service
1.826s systemd-resolved.service
995ms systemd-fsck-root.service

Could you please let us know how to further breakdown the time taken by
"dev-mmcblk0p2.device"

as we don't get anything with

systemd-analyze critical-chain dev-mmcblk0p2.device
The time when unit became active or started is printed after the "@"
character.
The time the unit took to start is printed after the "+" character.

dev-mmcblk0p2.device +6.984s

Is it possible to achieve faster boot times on arm v5 and cortex a5
these architectures similar to cortex a7 by tuning systemd?


Best Regards,
Dharma B.


More information about the systemd-devel mailing list