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