Comment 58 for bug 814426

Revision history for this message
Erik Ackermann (domohawk) wrote :

Okay so I think I mostly have a handle on the issue.

The hardware problem is caused by the cpu running the sound card driver entering the c6 idle state. Anecdotally the card does not appear to be able to handle the latency involved in waking from that state. Currently, both intel_idle and acpi_idle cpuidle drivers handle this poorly wrt to this particular card/motherboard combo.

intel_idle: chronologically the first “break” occurred at commit 2671717265ae6e720a9ba5f13fbec3a718983b65 which switched the default cpuidle driver for intel machines from acpi_idle to intel_idle. According to https://lkml.org/lkml/2010/7/22/511 it seems the correct solution here is register idle constraints explicitly via PM_QOS in the linux device driver, my guess is in snd_ice1712.

acpi_idle: the situation here is much less clear to me. The break here occurred at 718be4aaf3613cf7c2d097f925abc3d3553c0605 fixing bug 15886. That bug seems highly related since I have the same motherboard. I suspect the fault here lies in the bios, although since intel_idle was made the default before this commit, any bug introduced here would likely go unnoticed.

I have various turbostat logs but will save those for the specific bugs I file.

Also, the current “best workaround” is intel_idle.max_cstate=3. The reason nohz=off works is that it disables all cstates, but as long as we limit to c3 there is no apparent problem.