== fpoff-cold ==
12:54:13 INFO    compile-warmup ledger: 4.3s total, 2 dynamo frame compile(s) — decode-compile 1.4s/2f · prefill-multirow 0.9s/0f · prefill-single-row 1.3s/0f · tkv-cute-prewarm 0.2s/0f · decode-recurrent 0.4s/0f · 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)
12:54:34 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.
12:54:35 INFO    Boot: ready in 39.6s — 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).
