Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
T
Tidal
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • PLN
  • Tidal
  • Repository

Switch branch/tag
  • Tidal
  • tools
  • fix-ardour-rt.sh
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    fix-ardour-rt: patch the readers too, or a correct rig reports itself broken · 06352a90
    The four patches fixed both WRITERS of Ardour's scheduling policy. Nothing
    touched the readers, and that is the half that bites after the fix lands:
    
      - `parvagues-protect --check` demands SCHED_FIFO of every target, so
        Ardour at prio 0 would read UNPROTECTED forever and check() would exit
        non-zero by design. Its exit code is what the gate, the Bridge and
        gig-up believe, so a green rig would have shown a red Ardour all night
        while burying the one signal worth having: is scsynth really covered?
      - `perf-audio` still printed "Set Ardour (PID …) to real-time priority
        80" and the same for every child, while deliberately doing neither.
    
    check() now reads the target's own prio out of the TARGETS row, so prio 0
    means "want the OOM shield, leave scheduling alone" and prints
    `sched=SCHED_OTHER (oom shield only, by design)`. prio > 0 is untouched:
    scsynth/90, sclang/85 and pipewire/95 are judged exactly as before.
    
    Verified on copies of both root files, not on the originals:
    
      - all 8 patches apply, both files still bash -n clean
      - second --apply says "already applied" (the predicate had to name Ardour;
        perf-audio says "real-time priority 80" about aseqdump too, which this
        fix leaves alone, so the loose grep could never have been true)
      - verdict truth table 8/8, including the two rows that matter: a shielded
        Ardour on SCHED_OTHER is ok, and an UNSHIELDED one is still a fault
      - the patched check() run against the live processes prints
        `ok ardour[615285] oom_score_adj=-1000 sched=SCHED_OTHER (oom shield
        only, by design)` where the old one would have said UNPROTECTED, and
        still flags scsynth and sclang, which are genuinely uncovered right now
    
    Same shape as this morning's preload bug, one file over: the emitter changed
    and the checker did not, so the checker lied. It is worth saying once more
    that it did not merely miss a fault — it invented one.
    PLN (Algolia) authored Sep 24, 2026
    06352a90
fix-ardour-rt.sh 14.3 KB
EditWeb IDE
×

Replace fix-ardour-rt.sh

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.