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