[alsa-devel] Rewrite of hw_ptr updaters makes things worse?
After adding these patches from 2.6.30 to a 2.6.29 kernel, pulseaudio problems are worse:
ALSA: pcm - Reset invalid position even without debug option ALSA: pcm - Fix delta calculation at boundary overlap ALSA: pcm - Safer boundary checks ALSA: Rewrite hw_ptr updaters
Mar 28 14:28:20 platon pulseaudio[3040]: alsa-sink.c: Increasing wakeup watermark to 60,00 ms Mar 28 14:31:35 platon pulseaudio[3040]: alsa-sink.c: Increasing wakeup watermark to 70,00 ms Mar 28 14:31:35 platon pulseaudio[3040]: alsa-sink.c: Increasing wakeup watermark to 80,00 ms Mar 28 14:31:35 platon pulseaudio[3040]: alsa-util.c: snd_pcm_avail() returned a value that is exceptionally large: 4294952932 bytes (24347805 ms). Mar 28 14:31:35 platon pulseaudio[3040]: alsa-util.c: Most likely this is a bug in the ALSA driver 'snd_intel8x0'. Please report this issue to the ALSA developers. Mar 28 14:31:35 platon pulseaudio[3040]: rtpoll.c: Assertion 'usec <= ((pa_usec_t) 1000000ULL)*60ULL*60ULL' failed at pulsecore/rtpoll.c:548, function pa_rtpoll_set_timer_relative(). Aborting.
At Wed, 1 Apr 2009 18:46:27 -0400, Chuck Ebbert wrote:
After adding these patches from 2.6.30 to a 2.6.29 kernel, pulseaudio problems are worse:
ALSA: pcm - Reset invalid position even without debug option ALSA: pcm - Fix delta calculation at boundary overlap ALSA: pcm - Safer boundary checks ALSA: Rewrite hw_ptr updaters
Hrm, these patches are basically to avoid reporting bogus hw_ptr values to the user-space. So, the problem could be really the bad DMA pointer reporting on your hardware. What shows if you enable the debug via # echo 1 > /proc/asound/card0/pcm0p/xrun_debug ?? Note that this file appears when built with CONFIG_SND_PCM_XRUN_DEBUG.
Jaroslav made some patches to handle the bogus DMA-pointer values. Could you check sound git tree below, either for-next or master branch?
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
thanks,
Takashi
Mar 28 14:28:20 platon pulseaudio[3040]: alsa-sink.c: Increasing wakeup watermark to 60,00 ms Mar 28 14:31:35 platon pulseaudio[3040]: alsa-sink.c: Increasing wakeup watermark to 70,00 ms Mar 28 14:31:35 platon pulseaudio[3040]: alsa-sink.c: Increasing wakeup watermark to 80,00 ms Mar 28 14:31:35 platon pulseaudio[3040]: alsa-util.c: snd_pcm_avail() returned a value that is exceptionally large: 4294952932 bytes (24347805 ms). Mar 28 14:31:35 platon pulseaudio[3040]: alsa-util.c: Most likely this is a bug in the ALSA driver 'snd_intel8x0'. Please report this issue to the ALSA developers. Mar 28 14:31:35 platon pulseaudio[3040]: rtpoll.c: Assertion 'usec <= ((pa_usec_t) 1000000ULL)*60ULL*60ULL' failed at pulsecore/rtpoll.c:548, function pa_rtpoll_set_timer_relative(). Aborting. _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
On Tue, 14 Apr 2009 15:37:49 +0200 Takashi Iwai tiwai@suse.de wrote:
At Wed, 1 Apr 2009 18:46:27 -0400, Chuck Ebbert wrote:
After adding these patches from 2.6.30 to a 2.6.29 kernel, pulseaudio problems are worse:
ALSA: pcm - Reset invalid position even without debug option ALSA: pcm - Fix delta calculation at boundary overlap ALSA: pcm - Safer boundary checks ALSA: Rewrite hw_ptr updaters
Hrm, these patches are basically to avoid reporting bogus hw_ptr values to the user-space. So, the problem could be really the bad DMA pointer reporting on your hardware. What shows if you enable the debug via # echo 1 > /proc/asound/card0/pcm0p/xrun_debug ?? Note that this file appears when built with CONFIG_SND_PCM_XRUN_DEBUG.
Jaroslav made some patches to handle the bogus DMA-pointer values. Could you check sound git tree below, either for-next or master branch?
Those patches seem to have fixed things.
participants (2)
-
Chuck Ebbert
-
Takashi Iwai