This patchset is a rewrite of the out of memory killer to address several issues that have been raised recently. The most notable change is a complete rewrite of the badness heuristic that determines which task is killed; the goal was to make it as simple and predictable as possible while still addressing issues that plague the VM. Changes from version 2: - updated to 2.6.33, no longer based on mmotm - removed "oom: remove compulsory panic_on_oom mode" - mempolicy detachment is now protected by task_lock(); otherwise, it is possible for a mempolicy to be freed out from under code that is using it. This isn't necessary for current->mempolicy, but all other tasks require it. - tasks that have mempolicies of MPOL_PREFERED (or MPOL_F_LOCAL) are now always considered for oom kill when it is mempolicy constrained since they may allocate elsewhere as fallback when their preferred (or local) node is oom. - lowmem allocations that are __GFP_NOFAIL are now retried in the page allocator instead of returning NULL. - added: [patch 4/10] oom: remove special handling for pagefault ooms - added: [patch 10/10] oom: default to killing current for pagefault ooms This patchset has two dependencies from the -mm tree: [patch 5/10] oom: badness heuristic rewrite: mm-count-swap-usage.patch [patch 7/10] oom: replace sysctls with quick mode: sysctl-clean-up-vm-related-variable-delcarations.patch To apply to mainline, download 2.6.33 and apply mm-clean-up-mm_counter.patch mm-avoid-false-sharing-of-mm_counter.patch mm-avoid-false-sharing-of-mm_counter-checkpatch-fixes.patch mm-count-swap-usage.patch mm-count-swap-usage-checkpatch-fixes.patch mm-introduce-dump_page-and-print-symbolic-flag-names.patch sysctl-clean-up-vm-related-variable-declarations.patch sysctl-clean-up-vm-related-variable-declarations-fix.patch from http://userweb.kernel.org/~akpm/mmotm/broken-out.tar.gz first. This patchset is also available for each kernel release from: http://www.kernel.org/pub/linux/kernel/people/rientjes/oom-killer-rewrite/ including broken out patches and the prerequisite patches listed above. --- Documentation/feature-removal-schedule.txt | 30 + Documentation/filesystems/proc.txt | 100 +++-- Documentation/sysctl/vm.txt | 51 +- fs/proc/base.c | 106 +++++ include/linux/memcontrol.h | 14 include/linux/mempolicy.h | 13 include/linux/oom.h | 24 + include/linux/sched.h | 3 kernel/exit.c | 8 kernel/fork.c | 1 kernel/sysctl.c | 15 mm/memcontrol.c | 43 -- mm/mempolicy.c | 44 ++ mm/oom_kill.c | 572 +++++++++++++++-------------- mm/page_alloc.c | 29 + 15 files changed, 653 insertions(+), 400 deletions(-) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>