On Wed, 2 Aug 2006, Stefan Seyfried wrote:

On Tue, Aug 01, 2006 at 09:03:32PM +0200, Norbert Schuch wrote:
Hi,

[problem summary: system hangs at "Restarting tasks" when suspending with
powersave, but not with hibernate or "echo disk > /sys/power/state"]

latest update: I played around a bit with thaw_processes() in
power/process.c, and the system hangs during the final call of schedule()
in that function. (However, I figured out that schedule() is a bit too
large for me...).

Well, if i understand this stuff correctly (which i am not sure about ;-)
the thaw_process() stuff basically just sets the "i can run again" flag for
a process, so it is very well possible that the schedule() call is the one
that _really_ starts the processes, so they will not run until then. (they
will only get cpu time from the scheduler once schedule() is called).

This is probably true. I figured out yesterday night that the kernel is compiled with lowest preemption priority, when i increase the preemption level, the system crashes even _before_ printing "Restarting tasks..." (!), with highest preemtion level, I get some stack dumps and "scheduling while atomic" -- messages, which is probably also caused in the schedule() routine. The last message refers to "myecho". However, I tried to suspend
manually using "myecho" and it worked.

I am still thinking about what we do different from hibernate or just plain
manually invoking suspend...
The only thing i can imagine being the problem is that we switch off the
machine after suspend in "platform" mode (means: through the ACPI bios)
instead of the default "shutdown" mode (means: like a "normal" shutdown
does).

So does it work if you change SUSPEND2DISK_SHUTDOWN_MODE to "shutdown" in
/etc/powersave/sleep?

Sorry, I don't have the laptop here at the moment, but as far as I recall,
"cat /sys/power/disk" returns only "shutdown" , although i might confuse it
with a different computer. I'll try this evening.

If this helps, it should also fail when invoked manually, if you
do "echo platform > /sys/power/disk; echo disk > /sys/power/state".

Norbert

_______________________________________________
powersave-devel mailing list
[email protected]
http://forge.novell.com/mailman/listinfo/powersave-devel

Reply via email to