Skip to content

kernel B: 0005 back, BTF parsed in the background, deferred memmap; async virtio probes - #255

Merged
aledbf merged 4 commits into
mainfrom
kernel-b
Nov 13, 2026
Merged

aledbf merged 4 commits into
mainfrom
kernel-b

Conversation

@aledbf

@aledbf aledbf commented Nov 13, 2026

Copy link
Copy Markdown
Member

What the bench fleet measured to move the first SSH login, kernel and command line only (no QEMU patch):

  • kernel/patches/0005 back (each device's capability list walked once)
  • kernel/patches/0006: vmlinux BTF parsed by async_schedule() from a core_initcall instead of inside inet_init (11.2 of its 11.8 ms traced)
  • CONFIG_DEFERRED_STRUCT_PAGE_INIT=y: the 2 GiB memmap initialised by kthreads after SMP
  • driver_async_probe=virtio_rng,virtio_balloon,vmw_vsock_virtio_transport on the machine's command line
measurement (bench fleet, 20 boots per row, interleaved) before after run
kernel start to "Freeing unused kernel image" 96.3 87.1 43505126131
first SSH login, image as built 466/477 456/473 43501992969
first SSH login, minimal init (the floor) 223/229 209/223 43501992969, 43506390106

Hotplug (CPU, virtio-mem, balloon, disks) is untouched. docs/log.md gains the afternoon's entries, including the configuration-space snapshot that was measured and rejected (2-3 ms over 0005), and boot:initcalls gains SPIN_EARLY=1, the early-boot timeline used to find the memmap.

🤖 Generated with Claude Code

aledbf and others added 4 commits November 13, 2026 18:59
Under a 100 ms goal for the first SSH login, 0005's 6 ms is 6% of it.
0006 starts the BTF parse with async_schedule() from a core_initcall,
so it runs beside the initcalls rather than inside inet_init, where it
was 11.2 of 11.8 ms traced on the bench fleet (lab run 43498943572).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The memmap of a 2 GiB guest was initialised on the boot CPU in early
boot: a 5.2 ms gap after the zone ranges in boot:initcalls on the bench
fleet (lab run 43495583323).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…l at its p50 stamp

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the log of 2026-11-13's afternoon

driver_async_probe for rng, balloon and vsock: the first SSH login of a
minimal init 214 -> 209 ms on the bench fleet with the kernel patches
beside it. docs/log.md records the floor without systemd, the metal
fleet that has not run yet, where the kernel's time goes, and the
configuration-space snapshot measured and rejected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@aledbf
aledbf merged commit cb0f696 into main Nov 13, 2026
3 checks passed
@aledbf
aledbf deleted the kernel-b branch November 13, 2026 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant