On Thursday, November 18, 2010, Pavel Machek wrote: > Hi! > > > > > This is not how it works now. We preallocate memory to create memory pressure, > > > > so if image_size is 0, we need to preallocate until we run out of pages that > > > > can be freed, which means OOM. > > > > > > That's bad, right? Instead of killing > > > > I'm not sure what you mean. > > I meant "instead of failing hibernation, you get OOM -- killing random > processes". That's not the case. The OOM _killer_ is disabled during hibernation, but there's some more OOM code that's trying very hard to free whatever pages it can get without killing any processes. > > > Anyway, it does not work at all. > > > > > > root@amd:~# echo 300000000 > /sys/power/image_size > > > root@amd:~# echo disk > /sys/power/state > > > -su: echo: write error: No space left on device > > > > > > (And dmesg full of failed allocations). > > > > > > I can write 400M there, and it fails, too. > > > > Well, in that case your swap is smaller than the requested image size, isn't it? > > No, swap is > > pavel@amd:~/misc$ cat /proc/swaps > Filename Type Size Used > Priority > /dev/sda1 partition 779148 0 > -1 > > ... 700M. > > > There's a check in there that should catch that and it apparently doesn't work. > > > > Do you have that dmesg by chance? > > dmesg is useless -- it is full of backtraces :-(. ACPI allocations > fail. What about: # echo core > /sys/power/pm_test # echo disk > /sys/power/state Then the messages should be there in the logs. Thanks, Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm