[LAU] Kxstudio RT kernel vs low latency

Joakim Hernberg jbh at alchemy.lu
Mon Jul 28 12:00:06 UTC 2014


On Mon, 28 Jul 2014 01:07:52 +0100
James Stone <jamesmstone at gmail.com> wrote:

> I've just been playing around with this, and can confirm that a
> hand-built -rt kernel has lower max sched latencies than a generic
> lowlatency kernel in ubuntu on my system (<100us compared to 1500+).
> However, I noticed a really weird thing - that when running the test
> using sudo cyclictest -m -n -Sp99 -i100 -d0,  the reported DSP load on
> qjackctl is reduced (by around 50%), and there are fewer xruns at low
> latencies. As soon as I stop cyclictest, the xruns (at a rather low
> jack frames/period of 32) come back.. Any idea why this should be???

I think this is due to running cyclictest as root, as it then
opens /dev/cpu_dma_latency and writes 0 into it.  This has the
effect of disabling cpu powersaving.  The cpu will no longer use P or C
states and runs full out.  The result is that it finishes processing
the audio threads faster, thus lowering the DSP load shown in qjackctl
(which is a measure of how much of the available time until the
deadline did the audio processing take).  The documentation is in
Documentation/power/pm_qos_interface.txt  Note that it's not enough
to just write a value to it, the file needs to be kept open too, once
it's closed the cpu goes back to it's normal powersaving.

On my i7 desktop I take another approach.  I echo 100 to
/sys/devices/system/cpu/intel_pstate/min_perf_pct which makes it run
full out, but still go into C1 powersaving.  This keeps the
temperature down.  If you have a recent Intel cpu, you can observe the
change with the i7z utility.  I don't know how this works on AMD cpus
though.

-- 

   Joakim


More information about the Linux-audio-user mailing list