]> git.baikalelectronics.ru Git - kernel.git/commit
oom: compare cpuset mems_allowed instead of exclusive ancestors
authorDavid Rientjes <rientjes@google.com>
Wed, 17 Oct 2007 06:25:58 +0000 (23:25 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 17 Oct 2007 15:42:46 +0000 (08:42 -0700)
commit06bb8bd0295ec0227913748d0853e7e78001214b
tree00146d69594672ca41e35be8ff9b349e8751ab5c
parent0c9033cc680434e23e9505a9feba7b118331ca53
oom: compare cpuset mems_allowed instead of exclusive ancestors

Instead of testing for overlap in the memory nodes of the the nearest
exclusive ancestor of both current and the candidate task, it is better to
simply test for intersection between the task's mems_allowed in their task
descriptors.  This does not require taking callback_mutex since it is only
used as a hint in the badness scoring.

Tasks that do not have an intersection in their mems_allowed with the current
task are not explicitly restricted from being OOM killed because it is quite
possible that the candidate task has allocated memory there before and has
since changed its mems_allowed.

Cc: Andrea Arcangeli <andrea@suse.de>
Acked-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/cpuset.h
kernel/cpuset.c
mm/oom_kill.c