[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C7BE25B.1020504@superonline.com>
Date: Mon, 30 Aug 2010 19:54:51 +0300
From: "M. Vefa Bicakci" <bicave@...eronline.com>
To: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
CC: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [Bisected Regression in 2.6.35] A full tmpfs filesystem causeshibernation to hang
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
View attachment "config.txt" of type "text/plain" (80199 bytes)
View attachment "dmesg.txt" of type "text/plain" (82728 bytes)
Powered by blists - more mailing lists