https://bugzilla.kernel.org/show_bug.cgi?id=16396





--- Comment #43 from Eric Valette <eric.vale...@free.fr>  2010-07-30 19:03:19 
---
If ACPI specification says NVS has to be saved and restored for suspend to disk
fine with me.

I just complains to extend this behavior to suspend to RAM: 
1) just because windows does it,
2) in a post RC6 time frame, 
3) when it obviously breaks many computed suspend to ram feature,

Does no sound reasonable to me. And BTW reading the patch, the default value
for for S4 and S3 can be different...


BTW, I know how to make it work for my case, so don't take it as a selfish
comment.

--- Comment #44 from Maxim Levitsky <maximlevit...@gmail.com>  2010-07-31 
12:14:48 ---
It does sound selfish :-)

@Eric Valette
Lets actually do some constructive work instead of complaining, ok?
(Don't forget that I didn't have s2ram for 2 years, and I didn't have any
workarounds to make it work...)

What I want to know is:

1) What systems you know are affected.
2) DMI information from affected systems
3) Test if hibernation works on these systems
4) If no, test if 'acpi_sleep=s4_nonvs' 'fixes' the hibernation.
5) Explanation (if possible) how exactly s2ram and s2disk don't work.
(For example does it hang on first suspend, first resume, second suspend,
etc..)


@thomas:

If you have spare time, It would be great if you do some debugging on why
system hangs if NVS is saved/restored. This might give us some insight on what
is going on.

That what I want you to do:

1) Don't use acpi_sleep=nvs
2) Verify that s2ram fails

3) Verify that following patch 'fixes' the s2ram problem.
It nothing to get exited, but it would prove that restoration of nvs
is the problem.


diff --git a/kernel/power/nvs.c b/kernel/power/nvs.c
index 1836db6..0a4a54a 100644
--- a/kernel/power/nvs.c
+++ b/kernel/power/nvs.c
@@ -127,6 +127,7 @@ void suspend_nvs_save(void)
 void suspend_nvs_restore(void)
 {
        struct nvs_page *entry;
+       return;

        printk(KERN_INFO "PM: Restoring platform NVS memory\n");



4) Apply my printk blackbox patch I attach.
I have updated it today to work with no configuration at all.
It allows you to look at kernel log of crashed kernel.
It is a bit hackish, and I don't have the time and will power
to make it acceptable upstream...

turn on in kernel config the
CONFIG_DEBUG_FS
CONFIG_HWMEM_PRINTK
(and leave HWMEM_PRINTK_DEFAULT_ADDRESS to default)


5) In kernel configuration, turn on:
CONFIG_DETECT_SOFTLOCKUP
CONFIG_DETECT_HUNG_TASK
(These turn on mechanisms to detect hangs)

Create file '/etc/sysctl.d/90-local.conf' with contents:

kernel.panic = 20
kernel.panic_on_oops = 1
kernel.softlockup_panic = 1
kernel.hung_task_panic = 1
kernel.hung_task_timeout_secs = 30

These make sure that system reboots as soon as it hangs/panicks/oopses...
(There is still a delay of about minute untill system reboots)

Also to arm out hang detection even better add 'nmi_watchdog=lapic' to kernel
command line.

6) Compile the kernel & boot into it

7) Verify that you did everything right:
(Except first command, output should be exactly the same)
ma...@maxim-laptop:~$ cat /proc/cmdline | grep nmi
BOOT_IMAGE=/boot/vmlinuz-2.6.35-rc6+
root=UUID=52341b68-74f3-4c96-aaf8-7586a06c4b4e ro splash vga=791
nmi_watchdog=lapic

ma...@maxim-laptop:~$ cat /proc/sys/kernel/panic
20
ma...@maxim-laptop:~$ cat /proc/sys/kernel/panic_on_oops 
1
ma...@maxim-laptop:~$ cat /proc/sys/kernel/softlockup_panic 
1
ma...@maxim-laptop:~$ cat /proc/sys/kernel/hung_task_panic 
1
ma...@maxim-laptop:~$ cat /proc/sys/kernel/hung_task_timeout_secs 
30
ma...@maxim-laptop:~$ dmesg | grep Logging
[    0.592411] Logging kernel messages into HW memory at 0x03c00000
ma...@maxim-laptop:~$ 
ma...@maxim-laptop:~$ ls /sys/kernel/debug/printk/crash_dmesg 
/sys/kernel/debug/printk/crash_dmesg
ma...@maxim-laptop:~$ 


8) Now suspend/resume the system.
Wait till system reboots (wait about 1.5 minutes, if it doesn't then this
strategy failed)

9) As sson as system reboots, make sure it boots in same kernel (and be sure
not to power system off, or boot into another kernel)

10) now get the results:

sudo cat /sys/kernel/debug/printk/crash_dmesg | strings > $HOME/old_dmesg


(I have put that into a script:

ma...@maxim-laptop:~$ cat /home/maxim/bin/kernel/blackbox 
#! /bin/bash

sudo cat /sys/kernel/debug/printk/crash_dmesg | strings > /home/maxim/old_dmesg
cat /home/maxim/old_dmesg


11) If output looks reasonable, post it.

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to