SysadminNews

NetBSD 11: a 10ms kernel is not a 10ms service

On this page
  1. What the project announced
  2. Put the stopwatch around the useful result
  3. Test the application contract as well as the boot

NetBSD 11.0 was released on July 30. Its portability and small-VM work are concrete additions, but the striking boot figure needs a clearly defined measurement boundary.

Fictional service startup: 10ms kernel, 40ms userspace and 150ms application total 200ms. Halving only the kernel segment yields 195ms overall, 2.5% less. This is not a NetBSD measurement.
Fictional service startup: 10ms kernel, 40ms userspace and 150ms application total 200ms. Halving only the kernel segment yields 195ms overall, 2.5% less. This is not a NetBSD measurement. Chart : PeopleAreGeek. Data source.
View full-size image

What the project announced

The official release notes add stable 64-bit RISC-V support for named StarFive devices and QEMU. They describe an x86 MICROVM kernel using PVH and VirtIO MMIO, with roughly 10ms kernel boot on 2020-era CPUs. They also expand Linux syscall compatibility. None of those statements guarantees a complete Linux application stack or a service responding in 10ms.

The current news index still identifies 11.0 as the July release; it also records the end of updates for the netbsd-9 branch after 9.5. Do not confuse an older branch’s maintenance release with a newer supported platform feature.

Put the stopwatch around the useful result

Our fictional launch budget contains 10ms of kernel startup, 40ms of userspace setup and 150ms of application initialization: 200ms to readiness. The 10ms is only one segment. Reducing it to 5ms would change the total to 195ms, a 2.5% improvement, if everything else stayed equal.

These values illustrate the arithmetic and are not NetBSD measurements. A service-level experiment should start at a defined launch event and end at a successful representative request. Include image access, configuration, network setup and any first-request initialization in the boundary you report.

Test the application contract as well as the boot

For RISC-V, verify the exact board or virtual platform and the packages your workload needs. For Linux binaries, exercise the actual runtime, libraries and system calls instead of inferring complete compatibility from a list of additions.

Before upgrading, read the release’s incompatible changes and package-update instructions, and keep a recoverable copy of the working system. Waiting for an arbitrary future point release is not a substitute for that validation. The useful choice is the version and configuration that meet your workload’s requirements with an understood maintenance path.

September 8: correct release date to July 30 and bound the 10ms claim to MICROVM kernel boot; explain service readiness and upgrade compatibility checks.