Hello, I have tried to do some tests and I'd appreciate your help. > get your bloody kernels fixed. Enable preempt, set HZ to 1000. We did that on the vanilla 2.6.28 kernel, or so we believe: $ zgrep -E "HZ|PREEMP" /boot/config-2.6.28.10-pulse CONFIG_PREEMPT_NOTIFIERS=y CONFIG_NO_HZ=y # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y # CONFIG_PREEMPT_RCU is not set # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set CONFIG_HZ_1000=y CONFIG_HZ=1000 CONFIG_MACHZ_WDT=m CONFIG_DEBUG_PREEMPT=y # CONFIG_PREEMPT_TRACER is not set Our application still gets latency up to 260ms. If initially we set tlength to 100 and maxlength with a big limit so that Pulse can freely increase the latency to avoid glitches, it starts with small latency and underruns and increases it up to 60ms or more again. May 12 11:53:29 homer pulseaudio[27727]: protocol-native.c: Final latency 19,95 ms = 0,00 ms + 2*9,98 ms + 0,00 ms May 12 11:53:29 homer pulseaudio[27727]: module-alsa-sink.c: Requesting rewind due to latency change. May 12 11:53:30 homer pulseaudio[27727]: module-alsa-sink.c: Increasing minimal latency to 8,00 ms May 12 11:53:30 homer pulseaudio[27727]: module-alsa-sink.c: Increasing minimal latency to 16,00 ms May 12 11:53:32 homer pulseaudio[27727]: module-alsa-sink.c: Increasing minimal latency to 32,00 ms May 12 11:53:35 homer pulseaudio[27727]: module-alsa-sink.c: Increasing minimal latency to 64,00 ms The full log is here: http://www.freebsoft.org/~hanke/pulse1.log If we limit the maxtargetlength to keep latency small the quality of audio gets very bad (more or less expected) and response in speakers still seems to be much slower than what we get with ALSA. So why would the latency be so big? What does it mean the 2*9,98? If it is the trip between app and pulse, why is it so big as well? I also did alsa-time-test default 529066 529064 289138 1 4409 0 1 3 529077 529075 289160 1 4409 0 1 3 529086 529084 289138 0 4410 0 0 3 529121 529091 289138 0 4410 0 0 3 Looks ok, but I get similarly small differences in the first row even with ordinary 2.6.28-11-generic as shipped with Ubuntu. Thanks for your help, Hynek Hanke