diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 0c7c18f78425..6f6e04c40c93 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -183,14 +183,6 @@ unsigned long badness(struct task_struct *p, unsigned long uptime) if (has_capability_noaudit(p, CAP_SYS_RAWIO)) 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 (!has_intersects_mems_allowed(p)) - points /= 8; - /* * Adjust the score by oom_adj. */ @@ -277,6 +269,8 @@ static struct task_struct *select_bad_process(unsigned long *ppoints, continue; if (mem && !task_in_mem_cgroup(p, mem)) continue; + if (!has_intersects_mems_allowed(p)) + continue; /* * This task already has access to memory reserves and is