[pulseaudio-discuss] [PATCH v4] Make module loopback honor requested latency
Georg Chini
georg at chini.tk
Sat Feb 7 05:11:19 PST 2015
On 06.02.2015 11:02, Alexander E. Patrakov wrote:
> 06.02.2015 14:56, Georg Chini wrote:
>> One more thing: There is a systematic error in the adjust_time I could
>> not work around without
>> introducing too much overhead. The latency snapshot varies widely in the
>> execution time, I
>> measured values between 50 us and more than 60 ms. So if the extreme
>> values follow each other
>> you will have one adjust time that is around 60 ms too long and another
>> one which is 60 ms too
>> short. Maybe this also contributes significantly to the (in)stability of
>> regulation.
>
> Thanks for this observation. I will look into it, too.
>
I just ran perf to look at the difference between using module-loopback with
"latency_msec=10" and "latency_msec=6 buffer_latency_msec=4". I cannot
clock down my CPU, it is an Atom board. Top shows about 14% CPU with the
first option and 9% with the second option.
With perf I cannot see where this difference comes from:
latency_msec=10 (everything below 0.5% omitted):
2,67% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.]
0x000000000000985d
2,11% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.]
0x0000000000009855
1,92% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.]
0x000000000000984c
1,88% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.]
0x0000000000009844
1,71% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.]
0x000000000000986d
1,24% alsa-sink-ALC88 [snd_hda_intel] [k]
0x00000000000000a7
0,74% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.]
0x0000000000009858
0,66% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.]
0x000000000000984f
0,52% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.]
0x0000000000009861
latency_msec=6 buffer_latency_msec=4 (everything below 0.5% omitted):
3,51% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x000000000000985d
2,64% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x0000000000009855
2,45% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x0000000000009844
2,44% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x000000000000984c
2,29% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x000000000000986d
1,83% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x0000000000009a02
1,69% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x0000000000009a11
0,99% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x0000000000009858
0,97% alsa-sink-ALC88 [snd_hda_intel] [k] 0x00000000000000a7
0,87% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x000000000000984f
0,69% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x0000000000009a2f
0,61% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x0000000000009861
0,54% alsa-sink-ALC88 libspeexdsp.so.1.5.0 [.] 0x0000000000009a2c
As there seem to be less overall busy cycles in the second case the
somewhat higher
(instead of lower as expected) numbers can be explained by that.
More information about the pulseaudio-discuss
mailing list