freezer: fix racy usage of try_to_freeze in kswapd
authorRafael J. Wysocki <rjw@sisk.pl>
Sun, 6 May 2007 21:50:48 +0000 (14:50 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 7 May 2007 19:12:59 +0000 (12:12 -0700)
commitb1296cc48b39355241470ef934a5e2270e3f23bd
treecfaf24de442b9ce19414f67106461f7c4829a1a7
parentd1d241cc2c5feec057c370aa71637380b1b945d5
freezer: fix racy usage of try_to_freeze in kswapd

Currently we can miss freeze_process()->signal_wake_up() in kswapd() if it
happens between try_to_freeze() and prepare_to_wait().  To prevent this
from happening we should check freezing(current) before calling schedule().

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmscan.c