There is a possible deadlock scenario between the page allocator and the OOM killer. Most allocations currently retry forever inside the page allocator, but when the OOM killer is invoked the chosen victim might try taking locks held by the allocating task. This series, on top of many cleanups in the allocator & OOM killer, grants such OOM- killing allocations access to the system's memory reserves in order for them to make progress without relying on their own kill to exit. Changes since v1: - drop GFP_NOFS deadlock fix (Dave Chinner) - drop low-order deadlock fix (Michal Hocko) - fix missing oom_lock in sysrq+f (Michal Hocko) - fix PAGE_ALLOC_COSTLY retry condition (Michal Hocko) - ALLOC_NO_WATERMARKS only for OOM victims, not all killed tasks (Tetsuo Handa) - bump OOM wait timeout from 1s to 5s (Vlastimil Babka & Michal Hocko) drivers/staging/android/lowmemorykiller.c | 2 +- drivers/tty/sysrq.c | 2 + include/linux/oom.h | 12 +- kernel/exit.c | 2 +- mm/memcontrol.c | 20 ++-- mm/oom_kill.c | 167 +++++++--------------------- mm/page_alloc.c | 161 ++++++++++++--------------- 7 files changed, 137 insertions(+), 229 deletions(-) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>