Re: [Bisected Regression in 2.6.35] A full tmpfs filesystem causes hibernationto hang

From: KOSAKI Motohiro
Date: Mon Aug 16 2010 - 22:38:07 EST


> Hello all,
>
> I am using Debian Sid on a Toshiba Satellite A100 laptop. After testing
> 2.6.35 for a while, I noticed that sometimes my hibernation attempts
> would fail. I should say that I never had such a problem before 2.6.35.
> The hibernation process hangs with 2.6.35 after printing the following:
>
> === 8< ===
> ...
> Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
> PM: Preallocating image memory...
> === >8 ===
>
> After a short investigation, I found out that this only happens when my
> tmpfs filesystem on /tmp had a lot of data in it. When my tmpfs is empty,
> I have no problems.
>
> So I wrote a short script which fills up the tmpfs on /tmp and tries to
> hibernate, and I bisected the kernel using this script.
>
> The end result is that the following commit causes this regression:
>
> === 8< ===
> commit bb21c7ce18eff8e6e7877ca1d06c6db719376e3c
> Author: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
> Date: Fri Jun 4 14:15:05 2010 -0700
>
> vmscan: fix do_try_to_free_pages() return value when priority==0 reclaim failure
>
> ...
> === >8 ===
>
> I have run 2.6.35-rc6, 2.6.35 and 2.6.35.1 with this commit reverted,
> and I am happy to say that I haven't experienced any problems for at
> least 17 days.
>
> It looks like this change was included with 2.6.35-rc1. I am sorry
> for not testing earlier.
>
> I am willing to do testing in case anyone would like me to try patches.

Wow.

I'm very surprised this report because 1) the above commit changed
do_try_to_free_pages() return value 2) but current hibernation code is
ignoring this return value. Hmm... I have to investigate this very
interesting issue.

Thanks this report, and please give me a bit time.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/