Page 1 of 1

Why does jackdbus priority remain unchanged in realtime mode?

Posted: Thu Nov 28, 2019 11:24 am
by kraftwerk
Hi all,

I run jackdbus configured via cadence .
Since I request realtime with priority 10, I expect the priority to be different from the default for other user processed.
But the output of ps and chrt seem to indicate, that the process is not running with realtime priority.

Is it the correct assumption, that jackdbus must run with the priority specified for jack?

Code: Select all

ps -eo rtprio,ni,pri,comm | grep jackdbus
-   0  19 jackdbus

Code: Select all

chrt -p 22377
pid 22377's current scheduling policy: SCHED_OTHER
pid 22377's current scheduling priority: 0

Code: Select all

cat /etc/security/limits.d/audio.conf
@audio   -  rtprio     95
@audio   -  memlock    unlimited

Code: Select all

uname -a
Linux patza 5.0.0-36-lowlatency #39-Ubuntu SMP PREEMPT Tue Nov 12 10:30:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Code: Select all

cat .config/jack/conf.xml
?xml version="1.0"?>
<!--
JACK settings, as persisted by D-Bus object.
You probably don't want to edit this because
it will be overwritten next time jackdbus saves.
-->
<!-- Thu Nov 28 12:20:55 2019 -->
<jack>
 <engine>
  <option name="driver">alsa</option>
  <option name="realtime">true</option>
  <option name="realtime-priority">10</option>
  <option name="verbose">true</option>
  <option name="client-timeout">500</option>
 </engine>
 <drivers>
  <driver name="firewire">
  </driver>
  <driver name="net">
  </driver>
  <driver name="alsa">
   <option name="device">hw:AMP</option>
   <option name="capture">hw:F8R</option>
   <option name="playback">hw:F8R</option>
   <option name="rate">44100</option>
   <option name="period">128</option>
   <option name="nperiods">2</option>
   <option name="hwmon">false</option>
   <option name="hwmeter">false</option>
   <option name="duplex">true</option>
   <option name="softmode">false</option>
   <option name="monitor">false</option>
   <option name="dither">n</option>
   <option name="shorts">false</option>
   <option name="input-latency">73</option>
   <option name="output-latency">73</option>
   <option name="midi-driver">seq</option>
  </driver>
  <driver name="netone">
  </driver>
  <driver name="loopback">
  </driver>
  <driver name="alsarawmidi">
  </driver>
  <driver name="dummy">
  </driver>
 </drivers>
 <internals>
  <internal name="netmanager">
  </internal>
  <internal name="netadapter">
  </internal>
  <internal name="profiler">
  </internal>
  <internal name="audioadapter">
  </internal>
 </internals>
</jack>

Re: Why does jackdbus priority remain unchanged in realtime mode?

Posted: Thu Nov 28, 2019 4:39 pm
by merlyn
jackdbus can be running when JACK (the JACK server) is stopped. The command that's running is :

Code: Select all

jackdbus auto
jackdbus listens for D-Bus messages then starts the JACK server when it receives the message. The original jackdbus is still running with normal priority but now there is another thread with realtime priority.

You can see this with top or htop. In htop 'Shift+H' toggles showing threads, and you'll see another jackdbus running with a negative priority which means it's realtime.