Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .github/workflows/lab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,7 @@ on:
- boot:userspace
- boot:systemd
- boot:waits
- boot:jobs
- boot:ssh-first
- boot:exits
- boot:mmio
- boot:ssh-load
- boot:page-cache
- boot:firmware
Expand Down
36 changes: 0 additions & 36 deletions boot/Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,20 +193,6 @@ tasks:
cmds:
- SPIN_BOOT_WAITS=1 go test ./boot/ -run '^TestBootWaits$' -count=1 -v -timeout 20m

jobs:
desc: >-
PID 1's job queue as it changed during the boot, recorded live over systemd's private
socket by boot/jobwatch, a diagnostic binary built into each boot's overlay: what was
waiting and what was running every BUCKET ms, the boot:waits gaps with the jobs running
through them, jobs that did not end done, and the jobs the first SSH login after the boot
sets off. Interleaved with boots
without it, and the first table is what recording cost. Needs KVM, a built release and
sudo. REPS= boots of each, CPUS= vCPUs of both (3 gives the recorder room of its own),
LINGER= how long it records after startup, RAW=<dir> keeps the dumps.
deps: [':tools']
cmds:
- SPIN_BOOT_JOBS=1 go test ./boot/ -run '^TestBootJobs$' -count=1 -v -timeout 30m

ssh-first:
desc: >-
When a workspace can first be logged into from the host over SSH, through the machine's
Expand All @@ -218,28 +204,6 @@ tasks:
cmds:
- SPIN_SSH_FIRST=1 go test ./boot/ -run '^TestFirstSSH$' -count=1 -v -timeout 30m

exits:
desc: >-
What each phase of a boot made KVM do, from the host: VM exits by kind, EPT faults, and
how the guest's RAM is mapped (4K/2M/1G, and how much of it the host holds in huge
pages), for the machine as built and without its virtio-rng device, interleaved. Reads
/sys/kernel/debug/kvm, so the host must run one VM at a time. Needs KVM, a built release
and sudo. REPS= boots of each row, CPUS= vCPUs.
deps: [':tools']
cmds:
- SPIN_BOOT_EXITS=1 go test ./boot/ -run '^TestExitTimeline$' -count=1 -v -timeout 30m

mmio:
desc: >-
Who the guest's exits to QEMU are, counted from QEMU's own trace from a launch to the
login prompt: every PCI configuration access by device and direction, and every MMIO
and port access by the region it reached. Counts, not times, so any host answers.
SPIN_KERNEL_B= counts a second kernel beside the release's. Needs KVM and a built
release; no sudo. TOP= regions.
deps: [':tools']
cmds:
- SPIN_BOOT_MMIO=1 go test ./boot/ -run '^TestMMIOCensus$' -count=1 -v -timeout 10m

firmware-stages:
desc: >-
Where the time before the kernel goes on the machine a workspace boots: QEMU's start and
Expand Down
4 changes: 2 additions & 2 deletions boot/bench_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ func without(units ...string) variant {
// boots, 2026-09-26); image/build.sh forbids the disk.
// - serial-getty Type=simple instead of Type=idle: within noise of the echo (2026-09-10).
// And again once spin lingered and user@1000.service was in the boot transaction: 346/358
// against 423/441, 20 boots, lab run 43362067503 (2026-11-13) - now the image's
// (serial-getty@.service.d/type.conf).
// against 423/441, 20 boots, lab run 43362067503 (2026-11-13), and in the image for a day:
// removed because nothing a workspace does waits for the console's prompt.
// - loop.max_loop=0 8250.nr_uarts=1, and CONFIG_VT=n: no change to a login prompt
// (2026-09-26). udev's coldplug overlaps the boot rather than delaying it.
// - 19 udev rule files for hardware the machine cannot have, masked: no change, same day.
Expand Down
244 changes: 0 additions & 244 deletions boot/exits_test.go

This file was deleted.

Loading
Loading