[LAU] usb soundcard: xruns and latency even with -rt kernel

Jacob Lee artdent at gmail.com
Fri Dec 28 12:08:31 EST 2007


On Dec 28, 2007 9:46 AM, Karsten Wiese <annabellesgarden at yahoo.de> wrote:
> Am Freitag, 28. Dezember 2007 schrieb Jacob Lee:
> > I'm using an M-Audio Transit usb soundcard with the kernel 2.6.22-rt,
> > as packaged by ubuntu. I'm running jack right now with -p 3 -n 512,
> > and I still get xruns, typically of values less than .03ms, every few
> > minutes.
>
> You can try increasing the client timeout, i.e:
>         $ jackd -R -P60 -t200 ...
> helps here using kernel 2.6.24-rcx.
>

Interesting. The default timeout is 500; I've tried lowering it
slightly and raising it to 1000 or 2000 without effect.

> ((
>  jackd calls poll() with a timeout value of a period's ms each time
>  it triggers the external clients. Linux's poll() call can timeout at
>  (specified timeout - jiffy). IMHO either linux needs to be fixed to
>  implement posix poll() timeout handling, or jackd has to supply
>  (a period's ms + a jiffy's ms) as parameter for the poll() call.
> ))
>       Karsten
>

Ah. These xruns occur even with no jack clients running, so this
option might not change anything. Another interesting data point is
that changing the values for -p and -n increase or decrease how often
xruns appear, but they are always of extremely low values (.020-.050
ms). One would think that adding a few milliseconds of extra latency
would eliminate such small xruns; or, reducing the latency would cause
xruns of much longer duration. I should also mention that I
occasionally get the message "delay of 10698.000 usecs exceeds
estimated spare time of 10547.000; restart ..." (with varying values
for the delay), but I've assumed this is just a manifestation of the
same issue; at any rate, such messages happen far less often than the
xruns.


-- 
Jacob Lee
artdent at gmail.com



More information about the Linux-audio-user mailing list