On 30/08/10 05:28 AM, KOSAKI Motohiro wrote: >> [snip] >> >> The interesting thing is that even though there is a lot of free memory at the >> end, it still hangs. > > Grr. I'm surprised this result ;-) > shrink_all_memory() finish to shrink memory successfully. but your > system still hang immediately after. I have no idea why this mysterious > occur. > > I prepared next debugging patch. It added prenty debug printk. I hope > it enlighten up which path makes system hang-up. > > 1. apply my new patch > > 2. Enable following PM debug option in Kconfig > > [*] Power Management support > [*] Power Management Debug Support > [*] Extra PM attributes in sysfs for low-level debugging/testing > [*] Verbose Power Management debugging > > 3. append following kernel boot option into grub configration file > > no_console_suspend=1 > > 3. kernel build and reboot > 4. some prepare > # echo 8 > /proc/sysrq-trigger > # cd /sys/power > # echo 1 > pm_trace > # echo 0 > pm_async > > 5. run your test program > > >> I also included the timestamps; note the one and two second >> delays between the passes. > > This is expected result because tmpfs shrink need swap-out. then > we need i/o time. > >> >> Please let me know if there is anything I can do. > > Please send me your .config and full dmesg. > > > Thanks many and many help us! Hello, I have followed your instructions, with one exception: I have also enabled CONFIG_PM_TRACE so that I would have /sys/power/pm_trace. This time I had some more output, as expected. I double checked what I typed while looking at the screen-shot I took with my camera. Here's the output: === 8< === PM: Marking nosave pages: ...0009f000 - ...000100000 PM: basic memory bitmaps created PM: Syncing filesystems ... done Freezing user space processes ... (elapsed 0.01 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done. PM: Preallocating image memory... shrink_all_memory start PM: shrink memory: pass=1, req:310171 reclaimed:15492 free:360936 PM: shrink memory: pass=2, req:294679 reclaimed:28864 free:373981 PM: shrink memory: pass=3, req:265815 reclaimed:60311 free:405374 PM: shrink memory: pass=4, req:205504 reclaimed:97870 free:443024 PM: shrink memory: pass=5, req:107634 reclaimed:146948 free:492141 shrink_all_memory: req:107634 reclaimed:146948 free:492141 PM: preallocate_image_highmem 556658 278329 PM: preallocate_image_memory 103139 103139 PM: preallocate_highmem_fraction 183908 556658 760831 -> 183908 === >8 === According to your patch, the next output should have been "preallocate_image_memory ...", but it never gets printed, so the hang point should be that function. I am attaching my dmesg output which I got after the failed hibernation attempt and my .config file. Please note that the attached .config file is a trimmed version of the .config I usually use on my computer. I trimmed it so that it compiles faster, but (mostly) has support for devices I might use. Thanks a lot for your help, and please let me know if I can do anything else. Regards, M. Vefa Bicakci