From a5f7c793e30115c77a1d0c4f66f5dd407b4e3ed6 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 13 Jun 2021 10:28:23 -0600 Subject: [PATCH] add a new "Run Loop" timing stats for ALSA and JACK backends --- libs/ardour/ardour/audio_backend.h | 9 +++++---- libs/backends/alsa/alsa_audiobackend.cc | 2 ++ libs/backends/jack/jack_audiobackend.cc | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/libs/ardour/ardour/audio_backend.h b/libs/ardour/ardour/audio_backend.h index 551a70a31f..1f9498400d 100644 --- a/libs/ardour/ardour/audio_backend.h +++ b/libs/ardour/ardour/audio_backend.h @@ -851,11 +851,12 @@ public: enum TimingTypes { DeviceWait = 0, - PreProcess = 1, - ProcessCallback = 2, - PostProcess = 3, + PreProcess, + ProcessCallback, + PostProcess, + RunLoop, /* end */ - NTT = 4 + NTT }; PBD::TimingStats dsp_stats[NTT]; diff --git a/libs/backends/alsa/alsa_audiobackend.cc b/libs/backends/alsa/alsa_audiobackend.cc index e5987d99b2..a7090371e3 100644 --- a/libs/backends/alsa/alsa_audiobackend.cc +++ b/libs/backends/alsa/alsa_audiobackend.cc @@ -1855,6 +1855,7 @@ AlsaAudioBackend::main_process_thread () dsp_stats[DeviceWait].start(); nr = _pcmi->pcm_wait (); dsp_stats[DeviceWait].update(); + dsp_stats[RunLoop].start (); /* update DLL */ dsp_stats[PreProcess].start(); @@ -2021,6 +2022,7 @@ AlsaAudioBackend::main_process_thread () ++last_n_periods; dsp_stats[PostProcess].update (); + dsp_stats[RunLoop].update (); } if (xrun && (_pcmi->capt_xrun () > 0 || _pcmi->play_xrun () > 0)) { diff --git a/libs/backends/jack/jack_audiobackend.cc b/libs/backends/jack/jack_audiobackend.cc index 3d6bc2b150..0bc79e5549 100644 --- a/libs/backends/jack/jack_audiobackend.cc +++ b/libs/backends/jack/jack_audiobackend.cc @@ -977,6 +977,7 @@ JACKAudioBackend::process_thread () AudioEngine::thread_init_callback (this); while (1) { + TimerRAII ltr (dsp_stats[RunLoop]); GET_PRIVATE_JACK_POINTER_RET(_priv_jack,0); dsp_stats[AudioBackend::DeviceWait].start ();