Re: [PATCH 01/22] powerpc: convert idle_loop to use hard_irq_disable()

From: Paul Mackerras
Date: Mon Nov 20 2006 - 17:20:01 EST


Arnd Bergmann writes:

> I got a bug report that I believe might be fixed by this
> patch. The problem seems to be that with soft-disabled
> interrupts in power_save, we can still get external exceptions
> on Cell, even if we are in pause(0) a.k.a. sleep state.

[snip]

> - local_irq_disable();
> + hard_irq_disable();

This would mean that any platform-specific power_save function that
wants to re-enable interrupts (as the pseries ones do) would have to
do hard_irq_enable instead of local_irq_enable. Also, I don't think
this change will be good on iSeries.

What we want is an irq-disable function that is like local_irq_disable
but also clears MSR_EE and the hard irq enabled flag (provided we
aren't running on iSeries).

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