Re: [PATCH 58/76] idle, x86: Allow off-lined CPU to enter deeperC states

From: Boris Ostrovsky
Date: Mon Apr 02 2012 - 13:56:33 EST


On 04/02/12 13:25, Tony Luck wrote:
+ while (1) {
+
+ if (cx->entry_method == ACPI_CSTATE_HALT)
+ halt();

What's the intent here? I think that I can just set up a function pointer
named "halt" on ia64 and point it to my cpu_halt() function (which looks
for the deepest C-state, and then calls PAL to enter it. Is that equivalent
to what the x86 "halt()" function does?


x86 halt() causes processor to go to C1 state (which is often not the deepest). But other than that it seems similar to what you are describing.

However, the fix that you are proposing will only help ia64 and I wonder whether others architectures may have the same problem?

(And I don't think inb/inl should cause you any trouble since they are already used, for example, in acpi_idle_do_entry())

-boris


--
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/