Re: power-off delay/hang due to commit 6d25be57 (mainline)
From: Sebastian Andrzej Siewior
Date: Tue Aug 11 2020 - 06:27:49 EST
On 2020-07-14 17:53:15 [+0200], Rafael J. Wysocki wrote:
> acpi_evaluate_integer() doesn't show up in the trace, though, AFAICS.
> > I assumed acpi_ex_opcode_2A_0T_0R() since the other
> > candidate was acpi_ev_asynch_execute_gpe_method().
> Which probably is the case. Specifically
> acpi_ev_asynch_execute_gpe_method: Evaluate _L66
> is likely to cause the Notify() to be dispatched.
> > Rafael, are you also interested in an ACPI dump?
> That might help a bit.
> So what probably happens is that poking at the TZ causes a GPE to
> trigger and a Notify() to be dispatched which then goes into the
> workqueue for execution.
> Now, I'm not sure what happens to those Notify() items, though. They
> each should cause a handler (in the thermal driver) to be executed,
> but does that happen?
Stephen's trace contains a few backtraces, all of them look like this:
| Call Trace:
so no GPE and it comes the notify callback while parsing the ACPI table.
Any ideas? I guess acpi_ex_opcode_2A_0T_0R() uses the workqueue because
it may sleep and it might be invoked from non-preemptible context.