mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
FX telem: Katamari results + campaign verdicts (FX-16/FX-07 wontfix)
Five-title census complete. FX-16 killed on collapsed per-site saving (pins ride through tails, short blocks skip the event check, dynamic allocator near-empty at tails => 0.05-0.3% EE-thread ceiling vs high emitter complexity). FX-07 killed on five real-workload eviction nils. FX-03 closed applied via FX-03a. FX-15 iTLB A/B is the remaining item. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
d6240e432f
commit
0ee4ab142c
@@ -50,6 +50,113 @@ Retroid Pocket Flip2 (SD865-class) — `root@192.168.4.42`, deployed via
|
||||
4. Collect per title: `ssh root@192.168.4.42 'grep JITTELEM /storage/.config/YAPS2/logs/emulog.txt'`
|
||||
— the emulog restarts per launch, so grab (or let Claude grab) after each title.
|
||||
|
||||
## Title results
|
||||
|
||||
### Baldur's Gate: Dark Alliance (user session, 463s, clean shutdown)
|
||||
|
||||
- **SMC: real-SMC is ZERO** (0 seqs ever emitted). The entire manual tax is
|
||||
the `contains_thread_stack` heuristic class: the SAME 23 seqs / 207 words
|
||||
as SotC (kernel 0x81/0x80001 pages — universal, game-independent),
|
||||
running 2.0–2.7M w/s sustained; session totals 101M checks / 996M words
|
||||
(avg 2.15M w/s, 9.9 words/check) ≈ ~18M insns/s ≈ ~0.6% of an A77.
|
||||
**Reframe for FX-03**: these blocks are excluded from manual_counter
|
||||
promotion so they re-check forever — the fix menu includes handling the
|
||||
ts class specifically (promotion/narrower checks), not just NEON widening.
|
||||
- **brshape**: 12,888 blocks | fwd-cond 50.8% | FUSABLE plain 6.9% +
|
||||
likely 0.8% + diamond 41 | killers: ctrl 1702, sys 11, xpage 7.
|
||||
Nearly identical shape to SotC — fusable share looks like a ~7% cross-title
|
||||
constant.
|
||||
- **alloc**: EE live-evict 1 (noise), IOP 0, ee-neon LIVE 5, mVU VF 16/3925
|
||||
(0.4%), VI 180. Second real-workload nil.
|
||||
|
||||
Raw log archived in the session scratchpad (`fx-telem-logs/bgda-2310.emulog.txt`).
|
||||
|
||||
### R&C Up Your Arsenal (user session, 349s, clean shutdown)
|
||||
|
||||
- **SMC: negligible on this title.** Real-SMC bursty 0–0.024M w/s (592k
|
||||
checks / 3.06M words total; 3,143 seqs / 19k words EMITTED — plenty of
|
||||
manual pages get compiled, they're just cold). ts class only 0.05M w/s
|
||||
(110 seqs — a bigger set than BG:DA/SotC's 23, but ~40× colder).
|
||||
Combined ≈ 0.02% of an A77. **Key insight: the ts block SET is
|
||||
universal but its RATE is not** — it tracks kernel/scheduler pressure
|
||||
(BG:DA 2.4M w/s, SotC ~0.3–1M, UYA 0.05M).
|
||||
- **brshape**: 42,555 blocks | fwd-cond 43.9% | FUSABLE plain 4.5% +
|
||||
likely 0.7% + diamond 75. Cross-title fusable range now 4.5–7.7%.
|
||||
- **alloc**: EE 0, IOP 0, ee-neon LIVE 0, mVU VF 116/31,829 (0.36%),
|
||||
VI 1,477. Third real-workload nil.
|
||||
|
||||
Raw log: `fx-telem-logs/uya-*.emulog.txt` (session scratchpad).
|
||||
|
||||
### Shadow of the Colossus (user session, 576s incl. boss battle, clean shutdown)
|
||||
|
||||
- **SMC**: the one title so far with REAL manual-SMC execution — steady
|
||||
0.15–0.18M w/s (totals 23.4M checks / 123.5M words, avg 0.21M w/s over
|
||||
3,338 seqs, 5.3 words/check) + ts steady 0.33M w/s (104 seqs / 805
|
||||
words, 10.8 words/check). Combined ≈ 0.54M w/s ≈ 0.14% of an A77.
|
||||
- **brshape**: 59,178 blocks | fwd-cond 47.5% | FUSABLE plain 7.6% +
|
||||
likely 0.9% + diamond 73 — confirms the smoke.
|
||||
- **alloc**: EE 1, IOP 0, ee-neon LIVE 0, mVU VF 51/10,031 (0.5%), VI 233.
|
||||
|
||||
### Burnout 3: Takedown (user session, 616s, clean shutdown)
|
||||
|
||||
- **SMC: mild** — the WaitLoop-history title is NOT SMC-hot at runtime:
|
||||
real-SMC 120 seqs / 1,205 words emitted, avg 0.011M w/s; ts 0.096M w/s.
|
||||
Combined 0.107M w/s ≈ 0.03% of an A77.
|
||||
- **brshape**: 50,207 blocks | fwd-cond 46.3% | FUSABLE plain 5.4% +
|
||||
likely 0.1% (B3 barely uses branch-likely) | its >32 bucket is the
|
||||
largest of any title (8,070).
|
||||
- **alloc**: EE 0, IOP 0, ee-neon LIVE 3, mVU VF 265/74,408 (0.36%,
|
||||
94 dirty), VI 1,838 — heaviest mVU workload yet, same ~0.4% VF rate.
|
||||
|
||||
### Katamari Damacy (user session, 102s, clean shutdown — ran ON the FX-03a binary)
|
||||
|
||||
- **SMC: real-SMC ZERO** (0 seqs ever emitted); ts class steady 0.88–1.02M
|
||||
w/s (totals 9.41M checks / 75.7M words, avg 0.89M w/s, 8.0 words/check) —
|
||||
2nd-highest ts rate after BG:DA. On the FX-03a emission (~1.3 insns/word)
|
||||
that's ~1.2M insns/s ≈ **0.04% of an A77** — confirmation the fix landed
|
||||
where it matters on a second heavy-ts title.
|
||||
- **brshape**: 10,920 blocks | fwd-cond 39.9% | FUSABLE plain 5.1% +
|
||||
likely 0.7% + diamond 25 | killers: ctrl 1,415, sys 43, xpage 7.
|
||||
- **alloc**: EE 0, IOP 0, ee-neon LIVE 0, mVU VF 417/25,464 (1.6%,
|
||||
63 dirty), VI 2,161. Fifth real-workload nil on every EE/IOP channel.
|
||||
|
||||
### FX-03 five-title table (avg session words/s)
|
||||
|
||||
| title | real-SMC | ts (kernel pages) | combined | % of one A77 (@7 insn/word, pre-FX-03a) |
|
||||
|---|---|---|---|---|
|
||||
| BG:DA | 0 | 2.15M | 2.15M | ~0.6% |
|
||||
| Katamari | 0 | 0.89M | 0.89M | ~0.25% |
|
||||
| SotC | 0.21M | 0.33M | 0.54M | ~0.14% |
|
||||
| Burnout 3 | 0.011M | 0.096M | 0.11M | ~0.03% |
|
||||
| UYA | 0.009M | 0.05M | 0.06M | ~0.02% |
|
||||
|
||||
Only BG:DA clears the 1M-w/s bar, and it does so ENTIRELY via the
|
||||
contains_thread_stack heuristic class. FX-03a (618fe597c) cut the per-word
|
||||
cost ~6× for all rows; BG:DA re-run and the Katamari row above are on the
|
||||
new emission.
|
||||
|
||||
Raw logs: `fx-telem-logs/*.emulog.txt` (session scratchpad).
|
||||
|
||||
## Campaign verdicts (2026-07-12 eval)
|
||||
|
||||
- **FX-03 → applied** (618fe597c, FX-03a): reframed from "NEON-widen for
|
||||
SMC-heavy titles" to "kernel-page heuristic tax"; hoisted-base Ldp/Ccmp
|
||||
chain took it from ~7–9 to ~1.3 insns/word. User-validated on BG:DA
|
||||
(behaviorally transparent, 0 discards) and Katamari.
|
||||
- **FX-16 → wontfix**: static fusable pool thin (plain 4.5–7.7%, diamond
|
||||
~0) and the per-site saving collapsed — pins ride through tails, short
|
||||
blocks already skip the event check, EE dynamic-allocator state at tails
|
||||
is near-empty. Est. 0.05–0.3% of EE-thread insns vs high emitter
|
||||
complexity. Reopen only if RK3562 becomes binding AND an exec-weighted
|
||||
counter shows fusable sites disproportionately hot.
|
||||
- **FX-07 → wontfix**: eviction never fires in real workloads (EE 0–1,
|
||||
IOP 0, NEON LIVE 0–5 across five titles); mVU VF 0.36–1.6% with tiny
|
||||
dirty subset, not worth an ABI bump. Footnote: VI is the only churning
|
||||
channel (5–7× VF) — future mVU perf work should look at VI pool sizing,
|
||||
not eviction policy.
|
||||
- **FX-15 → pending iTLB A/B** (same binary, `YAPS2_NO_THP=1` toggle,
|
||||
fan pinned).
|
||||
|
||||
## Smoke result (SotC gameplay savestate, 75s, 2026-07-11)
|
||||
|
||||
**FX-03 bar MET on the first title**: sustained 0.78–1.49M manual words/s
|
||||
|
||||
Reference in New Issue
Block a user