Hi, So we are working to make systemd boot as fast as possible in Tizen. This has been our issue since forever. Recently we focused on it much more because after we had upgraded systemd from v244 to v255, the new version boots slightly slower than the old one. (Yes, there are lot of misconfiguration problems in many services which slow down reaching graphical.target, but at the moment we… need to ignore them.) Because the upgrade was big and it took a lot of time to rebase our patches (thus, bisect is not an option) we have a hard time pin pointing particular commit that did it. So we simply started looking for possible issues in v255. First, we noticed that the early unit loading stage (UnitsLoadStart → UnitsLoadFinish timestamps) takes much longer (500-600 ms instead of 350 ms). In our configuration systemd loads almost all possible units at that stage because some filesystems mounted in initrd (we don't use systemd in initrd, I know we're screwd) pulled default dependencies. We changed that and now these filesystems are mounted with x-initrd.mount options (We also had to remove their unit files from /usr/lib/systemd/system, otherwise fstab_is_extrinsic() wouldn't return true for them. I don't know if it is a bug, but seems odd to me anyway). Now, with filesystems flagged with x-initrd.mout the early unit loading stage is really fast (100 ms or less). Great! But there appears to be another issue (see the attached graph from systemd-analyze). There is an almost 600 ms delay between dev-mmcblk0p10.device and system-modprobe.slice (later units seem to start ok, we will take more precise measurements later). The delay doesn't appear to be caused by the system-modprobe.slice depending on activation of any of the earlier units. We'd like to solve this issue (and contribute the solution upstream), but we need your help to find out what may cause this 600 ms delay. Any suggestiongs? What should we look for? Where should we put uprobes? Merry Christmas, -- Łukasz Stelmach Samsung R&D Institute Poland Samsung Electronics
Attachment:
systemd-v255-x-initrd.mount-analyze.20241224.133721UTC.svg
Description: image/svg
Attachment:
signature.asc
Description: PGP signature