Re-implement RTTaskList using Graph Threads

Multimedia / Ardour - Robin Gareus [gareus.org] - 4 June 2022 15:22 UTC

There is no longer an extra set of rt-threads, but existing process-graph threads are reused.

There are two main benefits to this approach: graph-threads have a SessioEvent pool and ProcessThread buffers. They are also joined to work-groups (on macOS), or JACK created threads (cgroups).

c713841f39 Re-implement RTTaskList using Graph Threads
libs/ardour/ardour/graph.h | 4 +
libs/ardour/ardour/rt_task.h | 47 ++++++++++++
libs/ardour/ardour/rt_tasklist.h | 35 +++------
libs/ardour/graph.cc | 33 +++++++-
libs/ardour/rt_task.cc | 35 +++++++++
libs/ardour/rt_tasklist.cc | 161 +++------------------------------------
libs/ardour/session.cc | 2 +-
libs/ardour/session_process.cc | 5 +-
libs/ardour/wscript | 1 +
9 files changed, 141 insertions(+), 182 deletions(-)

  • Share