Open christophgysin opened 7 years ago
I've noticed that oddly enough this appears to be related to the screen blanking on idle (or something that happens at that time). After boot the unload times are fast, and over time as more screen blanks have occurred it gets longer. Also, I noticed that acpi related wakeups (see powertop
) increase significantly after first screen blanking and subsequent wakeup (the acpi interrupt handle goes from < 1/s to 300/s, and the other acpi workers also see significant increases). It looks like acpi is suddenly generating a lot of events (though not keyboard/touchpad events - those continue to only be sent when an actual key press our touch event happens, so these must be other acpi interrupts).
I take it back: this does not appear to be screen-blanking related at all. Instead, it appears to be related to A) something causing massive numbers of acpi interrupt gpe07 triggers (these are what are showing up in powertop, as I mentioned above), and B) how long these interrupts have been going on for. See also the discussion in Dunedan/mbp-2016-linux/issues/6. So fixing those interrupts should fix this issue.
Btw., I traced this to the acpi_remove_gpe_handler()
call taking a long time, and that in turn because it ends up calling acpi_os_wait_events_complete()
which in turn calls flush_workqueue(kacpid_wq);
and that is what's taking an (increasingly) long time - the number of entries in that workqueue increases over time. This appears to be related to the EC issue being discussed.
In short this isn't a bug in this module.
We have a fix for the GPE storm which fixes this issue here. So I think this can be closed.