Re: PCI PM: Restore standard config registers of all devices early

Pavel Machek
2009-02-10T20:25:41Z

Hi!

> > I'll have a look at the ACPI thing.
>
> Generally speaking, we'd need to run acpi_evaluate_object() with interrupts
> off.
>
> There are two apparent problems with that, from a quick look:
>
> * The ACPI_MTX_INTERPRETER mutex needs to be acquired, but we know we won't
> need that mutex with interrupts off, so presumably we can work around this.

In such case we either need refrigerator, or we should grab
MTX_INTERPRETER before we start suspending, hmm.

> * Memory allocations with GFP_KERNEL are made, which is even worse, because
> we really shouldn't do that during suspend _at_ _all_, even during the regular
> ->suspend() with interrupts on, because there's not guarantee that swap will
> will be available at that time. So, for the sake of correctness, we should
> get rid of the GFP_KERNEL from the ACPI code paths executed during
> suspend-resume anyway.

Well, we have some small reserves for stuff like that...
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html