Messages in this thread | | | From | Andy Lutomirski <> | Date | Thu, 4 Jun 2015 17:31:27 -0700 | Subject | Re: Getting rid of i7300_idle's idle notifier? |
| |
On Thu, Jun 4, 2015 at 4:32 PM, Andy Lutomirski <luto@kernel.org> wrote: > AFAICT the sole purpose for the hideous x86_64 idle_notifier mess is > to support i7300_idle. IMO this junk does not belong in IRQ handling, > etc. Can we redo this to work in some kind of generic way? > > I have no idea why it makes sense to twiddle I/O AT registers in the > beginning of whatever IRQ wakes up the CPU. > > Note that, if absolutely necessary, the ECX bit 0 MWAIT extension can > be used to reliably execute code before handling interrupts that wake > us from idle. That is, there could be a real cpuidle driver for that > chip that does: > > cli; > poke ioat; > mwait(ecx = 1); > poke ioat; > sti; > > Or we could delete the driver entirely.
It's even easier than that. Just shove the hooks into acpi_idle_do_entry or similar and remove them from every other exit_idle call site in the kernel.
--Andy
| |