[pulseaudio-discuss] Distribution kernels and glitch-free (Packagers, read this!)

Lennart Poettering lennart at poettering.net
Sun Feb 22 18:05:52 PST 2009

On Mon, 23.02.09 00:23, Ozan Çağlayan (ozan at pardus.org.tr) wrote:

> > Apparently OpenSUSE ships a kernel ( that causes
> > scheduling latencies of > 210ms. That is a lot. That is really really
> > really a lot. Other non-Fedora distributions apparently do something similar.
> Is that latency value obtained through your alsa-time-test or by another means
> like verbosed PA output? I'm not good at PA stuff, sorry for this
> offtopic question.

Yes, you can use alsa-time-test for this. When you run it it will spin
in a busy loop always querying system and sound card time. The first
column contains the system time in µs. Simply calculate the difference
between subsequent lines. If the differences get too large
(i.e. multiple ms) something is fishy. If they get as large as 210 ms
(i.e. 210000 µs) then things are really bad.

While you run this make sure you machine is otherwise idle and you
don't do any further IO (for reliable numbers don't write the output
to disk!). That tool doesn't make itself RT for a reason, so you have
to hand it full CPU time voluntarily.

> > 1) For fucks sakes: get your bloody kernels fixed. Enable preempt, set
> >    HZ to 1000. Get rid of low-quality drivers that block the
> >    CPU. Latencies of 210ms is *REALLY NOT NECESSARY*.
> Is there *really* any distribution around who doesn't enable preemption? The timer frequency
> can be a choice but not preempting the kernel is not sane nowadays.

OpenSUSE apparently does not enable it. The same is true for
Ubuntu. Same for Debian. Note sure about Mandriva. Not sure about
Gentoo (they'll probably use -funroll-loops instead because it makes
things faster or so ;-))


Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4

More information about the pulseaudio-discuss mailing list