On Wed, Aug 02, 2006 at 04:48:00PM +0200, Norbert Schuch wrote:
> On Wed, 2 Aug 2006, Stefan Seyfried wrote:

> >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.

Ok. "myecho" really only is a small wrapper around the write() syscall, since
the plain "echo" in the shell or standalone only returns 0/1 for 
success/failure, but we need the exact return code for the "retry if image is
big and swap is low" trick in do_acpi_sleep.

> >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.

"cat /sys/power/disk" will tell you the current setting, not all available
ones, this is a bit confusing when compared to /sys/power/state :-(

With powersave we echo the setting in SUSPEND2DISK_SHUTDOWN_MODE into 
/sys/power/disk, and we default to "platform" if the variable is empty
(the third possible value is "reboot", which is good for automated testing).

I still hope that setting this variable to "shutdown" will help you with
powersaved (and that echoing "platform" in there also breaks "manual" 
suspend), since this would prove that we do not do anything else that breaks
it :-). If this turns out to be the problem, it would be worth a report on
the acpi-devel list, although most of the developers there will quickly find
an excuse like "your BIOS must be broken" or something like that :-) although
i am personally not too sure that it is not really a kernel bug, just papered
over by using "shutdown".

Thanks for your help and patience in reporting and debugging this stuff :-)

-- 
Stefan Seyfried
QA / R&D Team Mobile Devices        |              "Any ideas, John?"
SUSE LINUX Products GmbH, Nürnberg  | "Well, surrounding them's out." 
_______________________________________________
powersave-devel mailing list
[email protected]
http://forge.novell.com/mailman/listinfo/powersave-devel

Reply via email to