[pulseaudio-discuss] [RFC PATCH] alsa-sink: Reduce hardware pointer update syscalls

Raymond Yau superquad.vortex2 at gmail.com
Tue Sep 30 00:44:59 PDT 2014


2014-9-30 下午2:45 於 "David Henningsson" <david.henningsson at canonical.com> 寫道:
>
>
>
> On 2014-09-29 14:49, Alexander E. Patrakov wrote:
>>
>> 29.09.2014 18:16, David Henningsson wrote:
>>>
>>> Ah, now I get it - the problem is not that the buffer might become half
>>> empty, the problem is that you might estimate to sleep too long, so your
>>> process time is effectively cut in half: if you previously had problems
>>> with process times > 20 ms, you can now potentially have problems with
>>> process times > 10 ms.
>>>
>>> I doubt this is a blocker, as this will resolve itself naturally since
>>> the potential underruns that might occur will just cause the process
>>> time to increase, but it's a very valid point and worthy some thought in
>>> case this patch will ever be v2.
>>>
>>> (Still waiting for somebody to report back that it's actually making a
>>> difference - otherwise I won't fix anything that isn't broken.)
>>
>>
>> I think it is worth testing on a Xonar DX or any other card with an
>> insanely large FIFO size. Unfortunately, I don't own this card, and it
>> would be a rather big stretch to ask my friend (who has it) to test a
>> patched version of PulseAudio :(
>
>
> I don't have any Xonar DX card either, but out of curiousity, what FIFO
size, in actual numbers/latency, is it that you would call "insanely large"?
>

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/oxygen?id=4e9c58cb1219bcbcf6e698ed6541b275048bfa88

Take a look at patent US 8412866

System and method of dynamically switching queue threshold

The DMA 150 has a queue, such as a first-in first-out buffer (“FIFO”) for
maintaining the stream on the HDA link 16 by storing sufficient amount of
data, such that no data under run or overrun occurs. Before sending out
data to the HDA link 16, the HDAC 15 will issue a bus master cycle to
request next stream data from the system memory 13 whenever the amount of
the stream data in the FIFO is less than a threshold value. The FIFO
threshold value and the burst length are associated with the FIFO size, as
shown in Table 1, where h represents a hexadecimal number, and DW
represents a double word (or 4-byte data).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20140930/8322122d/attachment.html>


More information about the pulseaudio-discuss mailing list