aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/softirq.c
diff options
context:
space:
mode:
authorDavid Rientjes <rientjes@google.com>2008-11-12 16:25:37 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2008-11-12 20:17:16 -0500
commite33c3b5e172e2e45456f42fba47227d48745543f (patch)
tree0dc15f10c63b36b12de1dee6b3b70108286a5058 /kernel/softirq.c
parentf0f7e0dc7393268947dc3ed285defc3d375487b9 (diff)
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>
Diffstat (limited to 'kernel/softirq.c')
0 files changed, 0 insertions, 0 deletions