[LAU] Kxstudio RT kernel vs low latency

James Stone jamesmstone at gmail.com
Mon Jul 28 22:22:48 UTC 2014


On Mon, Jul 28, 2014 at 1:00 PM, Joakim Hernberg <jbh at alchemy.lu> wrote:

>
> 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.
>

Thanks for this hint!

I played around with adding

 processor.max_cstate=0 idle=halt to the boot parameters, which had
the same effect as running cyclictest with /dev/cpu_dma_latency = 0..

I then removed this and had a poke around in the bios, and found that
the main culprits for the xruns were C6 mode, and "AMD Power Now".
Disabling these, and I now have an xrun-free experience with
frames/period = 32/2 with pulseaudio/jack on my Scarlett 2i4, which is
pretty amazing for a USB device IMO!

There was also CPD mode and CState Pmin, which I disabled initially,
but these don't seem to have any impact on xruns on my system. Cstate
pmin seems to affect the reported DSP load - but otherwise doesn't
affect xruns - so I think it's safe to keep on (and maybe is saving
some power??). CPD mode doesn't seem to have any impact at all.

James


More information about the Linux-audio-user mailing list