Re: [RFC][PATCH 2/2] PM: Rework handling of interrupts during suspend-resume

Rafael J. Wysocki
2009-02-23T22:11:34Z

On Monday 23 February 2009, Linus Torvalds wrote:
>
> On Mon, 23 Feb 2009, Ingo Molnar wrote:
> >
> > Linus, do you have a strong opinion about which variant we
> > should use?
>
> Strong? No. I think mine is better just because _if_ another CPU is busy
> handling an interrupt that we're just now disabling, we'll just go on to
> the next interrupt. Waiting for them all at the end is always more
> efficient.
>
> But does it really matter? No. In this case I think we've shut down all
> other CPU's anyway, so the whole "serialize_irq()" should probably not
> even be needed.

But we're going to move the shutting down of the other CPUs after this point.

Finally, the sequence is going to be:
- "normal" suspend of devices
- disable device interrupts
- "late" suspend of devices
- _PTS
- disable nonboot CPUs
- local_irq_disable
- sysdev_suspend
[This is because ACPI wants us to put devices into low power states before
doing the _PTS, which in turn is supposed to be done before the disabling of
nonboot CPUs, and we want to put devices into low power states during "late"
suspend. Of course, analogously for the resume part.]

So, I think your version is _really_ better. :-)

Thanks,
Rafael