[pulseaudio-discuss] PA terminated in stress test

Lennart Poettering lennart at poettering.net
Fri Feb 27 23:57:44 PST 2009


On Fri, 27.02.09 16:09, Zhang, Xing Z (xing.z.zhang at intel.com) wrote:

> Hi Lennart: 

Heya!

> 	We met an issue when do a stress test on PA. 
> 	We play ~10 streams and do pause/resume on them at will. The PA terminated after 2 ~ 5 minutes.
> 
> Below are logs:
> 
> E: alsa-sink.c: ALSA woke us up to write new data to the device, but there was actually nothing to write! Most likely this is an ALSA driver bug. Please report this issue to the ALSA developers. We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail_update() returned 0.
> W: ratelimit.c: 32 events suppressed
> N: alsa-sink.c: Increasing wakeup watermark to 40.00 ms
> N: alsa-sink.c: Increasing wakeup watermark to 80.00 ms
> Soft CPU time limit exhausted, terminating.
> E: cpulimit.c: Received request to terminate due to CPU overload
> 
> It seems a configuration issue. Could you give some comments? thanks

Your sound driver is broken (as noted in the log messages above).

Some audio drivers do not implement snd_pcm_delay() and
snd_pcm_avail() correctly. e.g. intel-hda on some chips sometimes
overflows in snd_pcm_avail(). Since this call is used to determine how
much data PA must generate and write to the audio device an overflown
value usually means that PA will eat considerable CPU time to fullfill
humungous requests by the sound card. PA's CPU load limiter then
activates itself and terminates PA.

Also, as noted in log message the sound driver of yours very often
sets POLLOUT although there is nothing to write. That as well is a bug
in the sound driver. It causes PA to spin in its IO loop and results
on unnecessarily high CPU load.

Please make sure that your sound driver is fixed.

Also note the recent thread on alsa-devel about this.

Lennart

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