Rafael J. Wysocki 452aa6999e mm/pm: force GFP_NOIO during suspend/hibernation and resume
There are quite a few GFP_KERNEL memory allocations made during
suspend/hibernation and resume that may cause the system to hang, because
the I/O operations they depend on cannot be completed due to the
underlying devices being suspended.

Avoid this problem by clearing the __GFP_IO and __GFP_FS bits in
gfp_allowed_mask before suspend/hibernation and restoring the original
values of these bits in gfp_allowed_mask durig the subsequent resume.

[akpm@linux-foundation.org: fix CONFIG_PM=n linkage]
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reported-by: Maxim Levitsky <maximlevitsky@gmail.com>
Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-03-06 11:26:26 -08:00
..
2009-09-21 14:29:21 +02:00
2009-12-15 08:53:10 -08:00
2010-03-03 14:07:57 -05:00
2009-06-24 00:02:38 -04:00
2010-02-25 12:02:13 +01:00
2009-12-06 21:10:56 +01:00
2010-02-03 10:21:57 +11:00
2009-09-18 09:48:52 -07:00
2010-03-06 11:26:24 -08:00
2009-06-16 19:47:48 -07:00
2009-12-14 23:55:34 +01:00
2010-01-21 13:40:18 +01:00
2009-07-24 10:53:29 +02:00
2010-02-02 14:38:15 +09:00
2009-06-18 13:03:56 -07:00
2009-12-31 19:45:04 +00:00
2010-03-01 09:36:31 +11:00
2010-02-10 17:47:17 -08:00
2010-02-26 08:20:46 +01:00
2009-12-09 10:03:07 +01:00
2010-02-18 14:30:18 -08:00
2009-12-22 14:10:37 -08:00
2010-03-06 11:26:23 -08:00
2009-09-23 18:13:10 -07:00
2010-01-21 13:40:18 +01:00
2009-06-18 13:03:55 -07:00