Re: Software suspend testing in 2.6.0-test1

Andrew Morton
2003-07-18T16:41:30Z

Peter Osterlund <petero2@telia.com> wrote:
>
> I tried the patch below, but it didn't work. Nothing (or very little)
> was swapped out to disk. I also tried using GFP_KERNEL, but that
> seemed to cause a deadlock. (Maybe it would have gone OOM if I had
> waited long enough). I think the problem is that pdflush and friends
> are already frozen when this code runs.

Oh, we shouldn't be doing this sort of thing when the kernel threads are
refrigerated. We do need kswapd services for the trick you tried.

And all flavours of ext3_writepage() can block on kjournald activity, so if
kjournald is refrigerated during the memory shrink the machine can deadlock.

It would be much better to freeze kernel threads _after_ doing the big
memory shrink.