Re: [RFC][PATCH 0/2] Rework disabling of interrupts during suspend-resume

Benjamin Herrenschmidt
2009-02-22T23:02:27Z

On Sun, 2009-02-22 at 14:37 -0800, Eric W. Biederman wrote:
> "Rafael J. Wysocki" <rjw@sisk.pl> writes:
>
> > Moreover, the real purpose of these changes is to be able to execute the
> > "late" suspend and "early" resume device callbacks with timer interrupts
> > enabled, so that they can use mutexes etc. However, x86 currently doesn't set
> > the IRQF_TIMER flag and I need to make it do so before going further in this
> > direction and changing the PCI PM framework to take advantage of the $subject
> > changes, for example. So, I need to know how to modify x86 timer code so that
> > the IRQF_TIMER flag is set by it.
>
> How does this sync with the ACPI requirement that the it's late suspend MUST
> happen with irqs disabled?

If I understand properly what the intention here is, the sysdev suspend
and later still happens with hard irqs off.

This is purely the layer between suspend and suspend_late at the driver
level that uses the above instead of hard IRQs off in order to be able
to properly order the ACPI calls vs. the driver calls.

Ben.