Merge branch 'for-3.1' into for-3.2
[deliverable/linux.git] / mm / oom_kill.c
index e4b0991ca3516b3fc3590f40da1ede9f8a4ba637..626303b52f3ce0764d3bb1029f6bce8b5bcaa896 100644 (file)
@@ -303,7 +303,7 @@ static struct task_struct *select_bad_process(unsigned int *ppoints,
        do_each_thread(g, p) {
                unsigned int points;
 
-               if (!p->mm)
+               if (p->exit_state)
                        continue;
                if (oom_unkillable_task(p, mem, nodemask))
                        continue;
@@ -319,6 +319,8 @@ static struct task_struct *select_bad_process(unsigned int *ppoints,
                 */
                if (test_tsk_thread_flag(p, TIF_MEMDIE))
                        return ERR_PTR(-1UL);
+               if (!p->mm)
+                       continue;
 
                if (p->flags & PF_EXITING) {
                        /*
@@ -339,8 +341,7 @@ static struct task_struct *select_bad_process(unsigned int *ppoints,
                                 * then wait for it to finish before killing
                                 * some other task unnecessarily.
                                 */
-                               if (!(task_ptrace(p->group_leader) &
-                                                       PT_TRACE_EXIT))
+                               if (!(p->group_leader->ptrace & PT_TRACE_EXIT))
                                        return ERR_PTR(-1UL);
                        }
                }
@@ -488,7 +489,7 @@ static int oom_kill_process(struct task_struct *p, gfp_t gfp_mask, int order,
 
        /*
         * If any of p's children has a different mm and is eligible for kill,
-        * the one with the highest badness() score is sacrificed for its
+        * the one with the highest oom_badness() score is sacrificed for its
         * parent.  This attempts to lose the minimal amount of work done while
         * still freeing memory.
         */
This page took 0.027565 seconds and 5 git commands to generate.