[PATCH] Defer processing of interrupts when the CPU wakes from sleepmode

Liu Dave DaveLiu at freescale.com
Wed May 14 22:03:09 EST 2008


<snip>

> This provides a way to defer processing of an interrupt that wakes the
> processor out of sleep mode.  On 32-bit platforms that use an
> interrupt to wake the processor, we have to have interrupts enabled in
> hardware at the point where we go to sleep, otherwise the processor
> will never wake up.  However, because interrupts are logically
> disabled at this point, we don't want to process the interrupt
> straight away.
> 
> This is handled by setting the _TLF_SLEEPING flag.  When we get an
> interrupt and _TLF_SLEEPING is set, we firstly clear the MSR_EE
> (external interrupt enable) bit in the saved MSR value, and secondly
> we then return to the address in the link register, like we do for
> _TLF_NAPPING, but without actually handling the interrupt.
> 
> Note that this is handled somewhat differently on powerbooks, so this
> new code will only be used on non-Apple machines.

Thanks Paul for this patch. The patch looks like very nice.
But the users have to be aware of the LINK register (LR) not corrupted.

So, does power management patch from Scott Wood need to respin?

BTW, why the fast_exception_return does *not* need clear the reservation
with stwcx.?

Thanks,
Dave



More information about the Linuxppc-dev mailing list