X-Git-Url: https://git.stricted.de/?a=blobdiff_plain;f=mm%2Foom_kill.c;h=626303b52f3ce0764d3bb1029f6bce8b5bcaa896;hb=1ddcb218b5920fb20c2b3f029f0189568c2dc6e2;hp=b0be989d43656ce7b19d215a0dbcc450e9c5c510;hpb=b49179c071b89423e1f6c50f6fa3d48d8158bc35;p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git diff --git a/mm/oom_kill.c b/mm/oom_kill.c index b0be989d4365..626303b52f3c 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -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) { /* @@ -487,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. */