diff --git a/docs/re/mission-freeze-resume-spin.md b/docs/re/mission-freeze-resume-spin.md index 7e34a64..dedc7a4 100644 --- a/docs/re/mission-freeze-resume-spin.md +++ b/docs/re/mission-freeze-resume-spin.md @@ -175,3 +175,41 @@ thread's guest PC on demand (or after N seconds without a frame) would name the loop, and `xenia-rs/sylpheed.db` can then say what function it is in. That is a `build-canary` run plus a reproduction — the cost is worth stating up front, and it is the only avenue that does not involve guessing. + +--- + +## The frozen world is quieter, not silent — the delta measured at last + +The measurement [`live_delta.py`](../../tools/re-capture/live_delta.py) was +written for, taken on a run that froze mid-probe (2026-08-23): + +| state | words changed | window | share of the 357.7 MB of data | +|---|---|---|---| +| **running** | 1 863 296 | 4 s | 2.08 % | +| **frozen** | 180 952 – 235 973 | 6 s | 0.20 – 0.26 % | + +So a frozen guest is about **12× quieter per second** than a live one, and still +changing ~30 000 words a second. Whatever is spinning is doing real work. + +Where, by 1 MB region, while frozen: + +``` +0xbf900000 83 246 words 0xbe000000 5 902 +0xbfa00000 55 515 0xbe300000 3 978 +0xbe100000 15 914 0x70400000 2 371 +0xbe200000 9 882 0x70500000 2 366 +``` + +The `0x704…`/`0x705…` pages are **guest thread stacks** — every `XThread…Stack:` +line in the boot log is in `0x70xxxxxx` — which is what a spinning thread's frame +churn looks like. The two big blocks at `0xbf900000`/`0xbfa00000` are the bulk of +it, and one visible cluster there is a long run of identical floats stepping +together (`0x39174083 → 0x39174079` across hundreds of consecutive words), which +reads like a buffer being refilled rather than a lock being polled. + +🔴 **Not yet interpretable**, and the reason is stated rather than glossed: there +is **no matched region breakdown for the running case** — the control was taken +before the region summary existed, so "these regions are busy while frozen" has +nothing to be compared against. The regions may simply be the busiest regions in +the game at all times. That comparison is one run away and is the obvious next +measurement.