[alsa-devel] Duplicate wake-ups in pcm_lib.c

Jaroslav Kysela perex at perex.cz
Wed Jan 20 11:42:32 CET 2010


On Wed, 20 Jan 2010, Raymond Yau wrote:

> 2010/1/13 Jaroslav Kysela <perex at perex.cz>
>
>> On Wed, 13 Jan 2010, Raymond Yau wrote:
>>
>>  2010/1/11 Jaroslav Kysela <perex at perex.cz>
>>>
>>>  On Mon, 11 Jan 2010, Raymond Yau wrote:
>>>>
>>>>  2010/1/7 Jaroslav Kysela <perex at perex.cz>
>>>>
>>>>>
>>>>>  On Wed, 6 Jan 2010, pl bossart wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> The improved and more clean fix in now in my tree:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> http://git.alsa-project.org/?p=alsa-kernel.git;a=commitdiff;h=1250932e48d3b698415b1f04775433cf1da688d6
>>>>>>
>>>>>> Note that you should apply these 4 patches (in reverse order):
>>>>>>
>>>>>> 4: ALSA: pcm_lib - optimize wake_up() calls for PCM I/O
>>>>>> 3: ALSA: pcm_lib - cleanup & merge hw_ptr update functions
>>>>>> 2: ALSA: pcm_lib - add possibility to log last 10 DMA ring buffer
>>>>>> positions
>>>>>> 1: ALSA: pcm_lib.c - convert second xrun_debug() parameter to use
>>>>>> defines
>>>>>>
>>>>>> Patch #3 should definitely fix problems with large avail or delay
>>>>>> values
>>>>>> reported in PA. I finally figured the culprit (and decide to cleanup
>>>>>> all
>>>>>> relevant code rather do just another workaround). In other words, new
>>>>>> hw_ptr pointer should never be less than previous one now.
>>>>>>
>>>>>>                                              Jaroslav
>>>>>>
>>>>>> -
>>>>>>
>>>>>>
>>>>>>  using alsa-driver-1.0.22.1.1.g231e3.14.g812cb and Fedora 12 inside
>>>>> Virtual
>>>>> Box
>>>>>
>>>>> aplay -D plughw:0,0 /usr/share/sounds/alsa/*.wav
>>>>>
>>>>> "Front Left" sound as "Front Front Left" when playing "Front_left.wav"
>>>>>
>>>>> only when echo 4 > /proc/asound/card0/pcm0p/xrun_debug
>>>>>
>>>>>
>>>> Thanks for testing.
>>>>
>>>> It means that with other values is no sound generated?
>>>>
>>>> Could you use value 29 for xrun_debug and report all sound related
>>>> messages
>>>> from dmesg output after playback of "Front_left.wav"?
>>>>
>>>>                                       Jaroslav
>>>>
>>>> -----
>>>>
>>>
>>>
>>>
>>> do you mean 27 instead of 29 since the echo only occur when the value
>>> contain XRUN_DEBUG_JIFFIESCHECK  bit  ?
>>>
>>> aplay -Dplughw:0,0 and mplayer -ao alsa:device=hw=0,0 work normal
>>>
>>> except when the value of xrun_debug contain XRUN_DEBUG_JIFFIESCHECK  bit
>>>  (
>>> same result for the three  virtual box audio backend oss, pulseaudio and
>>> alsa )
>>>
>>
>> Ok, I understand now. It would be better to use value 101 then - to see
>> last 10 ring buffer positions when jiffies correction occurs. Also, get
>> latest snapshot - there is a fix for jiffies check. Thanks.
>>
>>                                        Jaroslav
>>
>>
> alsa-driver-1.0.22.1.1.g231e3.61.g42efb
> copying file alsa/kernel/core/sound.c
> patchfile file sound.c
> Hunk# 12  FAILED at 518
> 1 out of 12 hunks FAILED -- saving rejects to file sound.c.rej
>
>
> seem related to
> http://git.alsa-project.org/?p=alsa-kernel.git;a=commit;h=8a822c23333694e7d1e6ccb15267e251af6d8f4f

The problem should be fixed now. Thanks for the notice.

 						Jaroslav

-----
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.



More information about the Alsa-devel mailing list