perf(node-bootc): take 40 seconds off every reboot #200
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/fast-boot"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Measured on a fresh seanfarm47 node: userspace boot 44.7s, and 57.9s on a rebooted node with more to restore. Three things in the image account for most of it, and none does work.
cloud-init — 31.5s, on the critical chain
systemd-analyze critical-chain k3s-agent.serviceruns throughnetwork-online.target ← cloud-init.service ← cloud-init-local.service +31.482s. The journal shows why:It DHCPs on
dummy0— an interface cloud-init itself created on an earlier boot (/etc/NetworkManager/system-connections/cloud-init-dummy0.nmconnection) — and can never reach metadata before the real NIC is up. The sshd step in this file has documented since 2026-06-13 that the datasource never resolves and that both SSH keys are baked via tmpfiles.d instead. Hostname comes from k3sconfig.yaml; NetworkManager carries a static DHCP profile. Nothing consumes cloud-init. All four units are now masked;sshd.serviceWants=sshd-keygen.targetindependently, so host keys are unaffected.loglevel=7→4— ~12sThe serial console runs at 115200 baud, ~11.5 KB/s, and a
loglevel=7boot printed 133 KB of kernel messages to it. The console loglevel gates only what is printed; the ring buffer, journald and pstore capture everything regardless, so the seanfarm33 panic forensics lose nothing.fwupd — 20s of contention
A firmware-update daemon on a Hetzner VM. Masked with its refresh timer.
What is not a cost
Shutdown: 8s from
systemctl rebootto the last journal line. The ~120s a node spends down decomposes as 15s reboot delay, 8s shutdown, ~30s Hetzner firmware, 45-60s userspace boot. This PR attacks the last;sean/pipelinestakes the first.Expected: userspace boot ~45-60s → ~15-20s. Verify after the next kernel roll with
systemd-analyze blameon any node.Heredocs balanced,
scripts/lint-kernel-cache.shpasses.https://claude.ai/code/session_01MdSbMhzabSbpG8TtP9Ur3H