Re: [RFC][PATCH -mm] PM: Change ordering of suspend and resume code

Pavel Machek
2006-11-26T07:44:00Z

Hi!

> The discussion in a recent thread on Linux-PM has indicated that it's
> necessary to call pm_ops->finish() before devce_resume(),
> but enable_nonboot_cpus() has to be called before pm_ops->finish()
> (cf. http://lists.osdl.org/pipermail/linux-pm/2006-November/004164.html).
> For consistency, it seems reasonable to call disable_nonboot_cpus() after
> device_suspend().
>
> This way the suspend code will remain symmetrical with respect to the resume
> code and it may allow us to speed up things in the future by suspending and
> resuming devices and/or saving the suspend image in many threads, but for this
> purpose we first need to make freeze_processes() SMP-safe.

I do not think first patch is enough to make it SMP-safe, sorry.

> The following series of patches makes freeze_processes() SMP-safe and
> reorders the suspend and resume code so that nonboot CPUs are disabled
> after devices have been suspended and enabled before the devices are
> resumed. It also causes pm_ops->finish() to be called after
> enable_nonboot_cpus() wherever necessary.
>
> The first four patches have been tested on two different x86-64 SMP boxes and
> they don't seem to break anything. Still, if anyone can test them on some other
> SMP boxes (especially on i386 ones), please do so and tell me if there are
> any problems.
>
> The last patch is untested.

I guess I should fix s2ram enough that it works for you... What is the
primary notebook you are using?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html