-
fix(audio): detect and heal the undead server — the spin that wedges the DSP · 26a526cf
An scsynth whose pipewire-jack client loses its startup race gets no negotiated format (quantum 0) and busy-spins its data loop at ~95% of a core at RT priority, unit green, process alive. Hours of that starved the SOF DSP's IPC until the firmware wedged and every sink vanished. Same config also boots clean at 1.5% — a probabilistic race, so the durable answer is detection + self-heal: - sc-watchdog spin detector: /proc CPU deltas every poll (zero forks), after 10s sustained >=85% ONE pw-top shot decides — quantum>0 is a musician playing and is never touched; quantum 0 is the spin (restart via the shared rate limit). Suite 15/15 incl driven-guard. - rig-doctor: SOF DSP IPC-timeout check (with the no-root cold-boot cure), failed-units check (start-limit trap, negative-tested), scsynth orphan-spin check on the same quantum oracle. 51 checks. - start_and_midi.scd: mi global effects measured LIGHT (all=1.3% vs off=1.7% idle, 5 boots) — acquitted, kept ON, gated behind PV_MI_FX so the next suspicion is a knob-flip, not a guess. - CHANGELOG Sprint 8 + backlog closure.
PLN (Algolia) authored26a526cf
×