David Rientjes e33c3b5e17 cpusets: update mems allowed in page allocator
If all allowable memory is unreclaimable, it is possible to loop forever
in the page allocator for ~__GFP_NORETRY allocations.

During this time, it is also possible for a task's cpuset to expand its
set of allowable nodes so that it now includes free memory.  The cached
copy of this set, current->mems_allowed, is stale, however, since there
has not been a subsequent call to cpuset_update_task_memory_state().

The cached copy of the set of allowable nodes is now updated in the page
allocator's slow path so the additional memory is available to
get_page_from_freelist().

[akpm@linux-foundation.org: add comment]
Signed-off-by: David Rientjes <rientjes@google.com>
Cc: Paul Menage <menage@google.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-11-12 17:17:16 -08:00
..
2008-10-20 08:50:26 -07:00
2008-10-23 08:55:02 -07:00
2008-10-20 16:17:42 -07:00
2007-10-20 01:27:18 +02:00
2008-04-28 08:58:18 -07:00
2008-11-12 10:37:48 -08:00
2008-07-28 16:30:21 -07:00
2008-07-28 16:30:21 -07:00
2007-05-21 09:18:19 -07:00
2008-10-30 11:38:47 -07:00
2008-02-05 09:44:19 -08:00
2008-06-12 18:05:41 -07:00
2007-10-20 01:27:18 +02:00
2008-10-20 08:52:40 -07:00
2008-10-30 11:38:47 -07:00
2008-10-09 12:18:27 -07:00
2008-10-20 08:52:32 -07:00
2008-10-20 08:52:32 -07:00