The patch titled oom: cpuset hint has been added to the -mm tree. Its filename is oom-cpuset-hint.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: oom: cpuset hint From: Nick Piggin <npiggin@xxxxxxx> cpuset_excl_nodes_overlap does not always indicate that killing a task will not free any memory we for us. For example, we may be asking for an allocation from _anywhere_ in the machine, or the task in question may be pinning memory that is outside its cpuset. Fix this by just causing cpuset_excl_nodes_overlap to reduce the badness rather than disallow it. Signed-off-by: Nick Piggin <npiggin@xxxxxxx> Acked-by: Paul Jackson <pj@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- mm/oom_kill.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff -puN mm/oom_kill.c~oom-cpuset-hint mm/oom_kill.c --- a/mm/oom_kill.c~oom-cpuset-hint +++ a/mm/oom_kill.c @@ -129,6 +129,14 @@ unsigned long badness(struct task_struct points /= 4; /* + * If p's nodes don't overlap ours, it may still help to kill p + * because p may have allocated or otherwise mapped memory on + * this node before. However it will be less likely. + */ + if (!cpuset_excl_nodes_overlap(p)) + points /= 8; + + /* * Adjust the score by oomkilladj. */ if (p->oomkilladj) { @@ -198,9 +206,6 @@ static struct task_struct *select_bad_pr continue; if (p->oomkilladj == OOM_DISABLE) continue; - /* If p's nodes don't overlap ours, it won't help to kill p. */ - if (!cpuset_excl_nodes_overlap(p)) - continue; /* * This is in the process of releasing memory so wait for it _ Patches currently in -mm which might be from npiggin@xxxxxxx are mm-vm_bug_on.patch radix-tree-rcu-lockless-readside.patch redo-radix-tree-fixes.patch adix-tree-rcu-lockless-readside-update.patch adix-tree-rcu-lockless-readside-fix-2.patch update-some-mm-comments.patch mm-remove_mapping-safeness.patch mm-non-syncing-lock_page.patch oom-use-unreclaimable-info.patch oom-reclaim_mapped-on-oom.patch cpuset-oom-panic-fix.patch oom-cpuset-hint.patch oom-handle-current-exiting.patch oom-handle-oom_disable-exiting.patch oom-swapoff-tasks-tweak.patch oom-kthread-infinite-loop-fix.patch oom-more-printk.patch sched-force-sbin-init-off-isolated-cpus.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html