Files
linux/include/linux
Ming Lei e823407f7b pm / runtime: introduce pm_runtime_set_memalloc_noio()
Introduce the flag memalloc_noio in 'struct dev_pm_info' to help PM core
to teach mm not allocating memory with GFP_KERNEL flag for avoiding
probable deadlock.

As explained in the comment, any GFP_KERNEL allocation inside
runtime_resume() or runtime_suspend() on any one of device in the path
from one block or network device to the root device in the device tree
may cause deadlock, the introduced pm_runtime_set_memalloc_noio() sets
or clears the flag on device in the path recursively.

Signed-off-by: Ming Lei <ming.lei@canonical.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Oliver Neukum <oneukum@suse.de>
Cc: Jiri Kosina <jiri.kosina@suse.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Greg KH <greg@kroah.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: David Decotigny <david.decotigny@google.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-02-23 17:50:16 -08:00
..
2013-01-02 17:36:10 -08:00
2013-01-02 17:36:10 -08:00
2013-02-01 10:13:48 -05:00
2012-11-30 12:37:36 +01:00
2013-01-03 14:34:06 -08:00
2012-12-02 00:05:12 +00:00
2012-12-20 13:57:36 -05:00
2012-12-21 20:23:41 +00:00
2013-01-29 10:48:30 +01:00
2012-11-08 16:58:31 +01:00
2012-12-24 09:36:38 -07:00
2012-11-28 11:54:40 +01:00
2012-11-22 13:43:27 +09:00
2012-11-28 21:49:02 -05:00
2012-11-28 21:49:02 -05:00
2012-11-08 16:58:30 +01:00
2012-11-21 10:07:48 +01:00
2013-01-25 21:03:54 -08:00
2012-11-23 12:23:40 +01:00
2013-02-06 15:59:47 -05:00
2012-12-14 13:05:26 +10:30
2013-01-29 13:59:57 -05:00
2012-11-21 15:09:26 -08:00
2013-01-10 11:44:38 -06:00
2013-01-29 19:32:58 -08:00
2012-11-20 16:15:02 +10:00
2012-11-03 14:50:15 -04:00
2012-12-12 17:38:33 -08:00
2012-12-14 13:06:40 +10:30
2012-12-25 18:45:06 -05:00
2012-12-11 17:22:27 -08:00
2013-01-24 15:37:26 +01:00
2013-01-03 15:57:14 -08:00
2013-01-23 13:44:00 -05:00
2012-11-16 14:33:04 -08:00
2012-12-18 15:02:13 -08:00
2012-12-18 15:02:14 -08:00
2013-02-10 19:41:08 -05:00
2012-12-24 09:36:38 -07:00
2013-01-15 22:43:15 -08:00
2013-02-08 18:28:04 +01:00
2013-01-25 15:06:01 -08:00