Re: Getting rid of i7300_idle's idle notifier?

From: Andy Lutomirski
Date: Sat Jun 06 2015 - 12:06:45 EST


On Thu, Jun 4, 2015 at 11:52 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>
>> On Thu, Jun 4, 2015 at 4:32 PM, Andy Lutomirski <luto@xxxxxxxxxx> 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.
>
> Yes!
>
> Interested in doing a patch?
>

Barely. I don't have the hardware, I have no idea what the registers
that i7300_idle pokes are for, and I have no particular desire to
start reading the datasheet. I'm not even really sure that i7300
machines use acpi's processor_idle instead of intel_idle.

I'm happy to give the driver maintainers a few days to respond. Andy?

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/