Claim C2 Ring Measurement Closure — 2026-08-02
This bundle supplements the earlier
Claim C2 Ring Measurement Evidence with the cold-ring,
calibrated-throughput, and matched-scheduler measurement shapes that bundle
left open. Five foreground make test-measure runs used clean source commit
ec5b115e290639e049a91521755d589cfdd97b8c and pinned QEMU to host logical
CPU 0:
CAPOS_MEASURE_QEMU_TASKSET_CPUS=0 \
CAPOS_MEASURE_ARTIFACT_DIR=target/paper-c2-measure-20260802-scope-final2/run-N \
make test-measure
The run interval was 2026-08-02 18:40:05–18:43:53 UTC. QEMU 8.2.2 used KVM,
one qemu64 guest vCPU, and 256 MiB guest RAM. The KVM host exposed eight
logical CPUs, four cores, two threads per core, and an Intel Xeon 2.80 GHz
CPU. Pinning constrained QEMU’s affinity but did not isolate CPU 0 from other
host work. host.txt retains the host
envelope.
Each make invocation rebuilt capos-measure.iso; consequently, the five
invocation records have distinct ISO SHA-256 values even though all name the
same clean source commit. Each record also retains the resolved QEMU command
and QEMU version.
| Run | Invocation | Kernel serial | Terminal |
|---|---|---|---|
| 1 | run-1 | run-1 | run-1 |
| 2 | run-2 | run-2 | run-2 |
| 3 | run-3 | run-3 | run-3 |
| 4 | run-4 | run-4 | run-4 |
| 5 | run-5 | run-5 | run-5 |
Extracted observations
| Run | Cold first NOP round trip cycles | Warmed batched NOP cycles | 4,096-SQE interval ns | SQEs/s | Direct endpoint cycles | Ordinary endpoint cycles | Direct select cycles | Ordinary select cycles |
|---|---|---|---|---|---|---|---|---|
| 1 | 316,695 | 33,479 | 89,783,588 | 45,620 | 7,790,392 | 7,890,846 | 392,298 | 401,057 |
| 2 | 283,201 | 5,109,718 | 129,925,345 | 31,525 | 7,847,071 | 7,875,923 | 398,835 | 397,588 |
| 3 | 257,818 | 5,106,773 | 66,057,872 | 62,006 | 7,906,140 | 7,965,534 | 398,631 | 395,194 |
| 4 | 264,702 | 33,129 | 115,600,327 | 35,432 | 7,850,075 | 7,977,183 | 393,844 | 400,807 |
| 5 | 252,247 | 33,379 | 60,053,834 | 68,205 | 7,877,704 | 7,952,024 | 401,448 | 393,861 |
| Median | 264,702 | 33,479 | 89,783,588 | 45,620 | 7,850,075 | 7,952,024 | 398,631 | 397,588 |
| Range | 252,247–316,695 | 33,129–5,109,718 | 60,053,834–129,925,345 | 31,525–68,205 | 7,790,392–7,906,140 | 7,875,923–7,977,183 | 392,298–401,448 | 393,861–401,057 |
The cold record is the process’s first NOP publication, cap_enter, and CQE
consumption interval. The warmed record remains the prior eight-SQE batched
per-SQE average, including the same publication/entry/consumption boundary.
The comparison therefore captures first-use and batching effects together; it
does not isolate a syscall instruction or attribute the delta to one internal
kernel operation. Runs 2 and 3 contain multi-million-cycle warmed outliers;
run 1 contains a same-scale outlier in the unrelated null_small window while
its warmed NOP result remains near 33,000 cycles. This one-outlier-per-run
pattern in three of five runs is consistent with a host or hypervisor
scheduling stall landing in whichever measurement window was active. The
warmed range retains the observations rather than excluding them post hoc, but
the upper bound is not evidence of warmed-path variance by itself.
The throughput record brackets exactly 4,096 NOP SQEs in 256 full 16-entry
ring batches with the kernel’s calibrated monotonic clock. It starts before
the first tagged NOP’s validation and ends after the final tagged NOP’s CQE is
posted. The reported rate is 4,096 * 1,000,000,000 / elapsed_ns. It is a
fixed-workload dispatch interval rather than a maximum kernel throughput rate.
The broad 31,525–68,205 SQE/s observed range is retained rather than smoothed
away.
The endpoint record leaves eight warm-up calls on the normal path, then alternates the same blocked receiver across 64 measured calls: 32 direct handoffs and 32 ordinary WFQ selections. The user-side columns measure CALL submission through receiver observation. The kernel columns measure ready to actual scheduler selection. Every run observed 32 direct selections; the ordinary path observed 31 or 32 selections because a non-direct receiver can resume from its mid-block ownership window without another WFQ choice. The five runs do not show a stable scheduler-selection advantage for either path; the evidence supplies the matched comparison, not a speedup claim.
The existing mixed endpoint line remains available for compatibility. Its median was 7,913,629 cycles with a 7,840,619–7,935,837 observed range. The schema-dispatch median in this bundle was 3,360 cycles with a 3,048–4,221 range, 19% below the original bundle’s 4,173-cycle median and 4,015–6,081 range. The closure image adds the cold and fixed-throughput work before the boot-global summary, so the shift cannot be attributed to the schema path alone and is retained as an observer/workload configuration effect. The capability-slot record remained 80 bytes in every run.
Evidence boundary
This bundle closes the three measurement-shape gaps recorded by the earlier bundle:
- A first-entry NOP round trip now exists alongside the unchanged warmed, batched NOP line.
- A fixed SQE count now has a kernel-calibrated elapsed interval and an emitted operations-per-second result.
- The same endpoint receiver workload now has separately reported direct and ordinary-scheduler intervals at both the end-to-end and ready-to-selection boundaries.
These are nested-QEMU/KVM observations from one 228-second collection window. Host affinity is not isolation, guest TSC behavior is virtualized, and the measure image retains other debug instrumentation. The ranges characterize only these five runs; they are not reproducibility bounds, hardware results, maximum-throughput results, or production-performance claims.
The serial logs retain QEMU’s CRLF output. SHA-256 digests below are for their LF-normalized contents:
7d829b9e97bf9601ef2ce9d220528cd175b588a7db219a1856faf9c4573aefe4 run-1-kernel.txt
0f2324999b8c9a2475c5671650e9cc89b92ed7db75bdc938b02d7bcd2d341856 run-2-kernel.txt
3bc4ad65c803f49f64aa9bebfa2a3ac2d17a11affcbaed21c205ef780f87e7ef run-3-kernel.txt
b4ac8481f7278a67655febec405ede76edc0d21139fda39cd3d02e9a2ed84d89 run-4-kernel.txt
00bbdceb12f57ab40d1609bf2916cdda7f158b29fb0ce7dbc8a12c1cba0a4513 run-5-kernel.txt
The terminal files contain only QEMU’s unsupported-SVM-feature warning.
tools/qemu-measure-smoke.sh verified every run’s required output and clean
proof termination.