Re: snd_pcm_open() taking very long, starting from kernel 4.17

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/17/18 5:54 PM, Takashi Iwai wrote:
> On Fri, 14 Dec 2018 18:36:11 +0100,
> Arnaud Rebillout wrote:
>>   Dear ALSA maintainers,
>>
>> I noticed big change in how long `snd_pcm_open()` takes, between kernel 4.16
>> and 4.17. With a kernel 4.16, this function consistently returns in less
>> than 1
>> millisecond, with occasional, but rare, peaks that go up to 25ms. While with
>> kernel 4.17 and above, I measure an average of 40ms, with frequent peaks
>> to 1s.
>> The maximum I measured was 3 seconds!
>>
>> Is this change known, intended? Or is it a regression?
> If this happens at opening the PCM stream, it's likely a stall in
> runtime PM resume by some reason.  But I have no idea what actually
> broke.
>
> Are you sure that it's a kernel regression, i.e. this doesn't happen
> at all when booting the old kernel on the same system?
>
> If yes, the best would be to perform bisection.  At least it'd be
> helpful to narrow the regression a bit.
>
> And, this might be a known issue; I remember some report about the
> long runtime PM resume on Dell XPS, which I can't see on other
> machines.  So it might be device-specific.

I found out that this is actually due to a change in the debian kernel
configuration. Starting from version 4.17, the kernel is configured with
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 (was =0 before).

I could confirm that this is what makes snd_pcm_open() take much more time.

I opened a bug at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917906.

Thanks for the support!

  Arnaud

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux