Re: [patch] improve SMP reschedule and idle routines
From: Nick Piggin
Date: Mon May 16 2005 - 17:54:44 EST
Oleg Nesterov wrote:
Nick Piggin wrote:
void default_idle(void)
{
+ local_irq_enable();
+
Stupid question. Why is this sti() needed?
Interrupts are enabled in start_secondary() before cpu_idle()
call, and they can't be disabled after return from schedule().
The same question applies to poll_idle/mwait_idle.
IIRC I tried to do that, but I think I ran into problems with
acpi_processor_idle which looks like it can call the cpu idle
routines with interrupts disabled. I definitely ran into problems
with something.
That should really be cleaned up though (whether we go one way
or the other doesn't matter as much as it being consistent),
I think.
But I wanted to try to keep this patch to a minimum.
--
SUSE Labs, Novell Inc.
-
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/