== lad8-b ==
13:22:13 INFO    compile-warmup ledger: 6.4s total, 12 dynamo frame compile(s) — decode-compile 1.1s/4f · prefill-multirow 2.7s/5f · prefill-single-row 1.6s/2f · tkv-cute-prewarm 0.2s/0f · decode-recurrent 0.6s/1f · verify-hidden 0.1s/0f (step seconds/frames; a frame is a Dynamo trace, which the Inductor caches do NOT skip — they cover the backend only)
13:22:30 INFO    Boot: KV cache ready at 4.11 GiB (17% of 23.52 GiB) — 933 pages × 256 tok/page = 238848 servable tokens, free 0.15 GiB (1% of 23.52 GiB)
  NOTE: the address_space.released_pool_va row (896M; cuMem tracked-but-unmapped 896M) is VA whose PHYSICAL IS ALREADY BACK with the driver — a pool this boot destroyed (release_empty_pool -> cuMemUnmap/cuMemRelease) whose torch segment records outlive the release. It reads reserved AND fully-free and is neither: those bytes were already grown into KV, and empty_cache returning 0 for them is the correct result, not a missed reclaim.
13:22:31 INFO    Boot: ready in 37.0s — serving now. GPU memory: KV cache 4.12 GiB (18% of 23.52 GiB), free 0.14 GiB (1% of 23.52 GiB) (memory locked — won't grow while serving).
