diff --git a/[refs] b/[refs] index ac95e623f613..24709abbf3ef 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 767b68e96993e29e3480d7ecdd9c4b84667c5762 +refs/heads/master: f19e8aa11afa24036c6273428da51949b5acf30c diff --git a/trunk/mm/oom_kill.c b/trunk/mm/oom_kill.c index fc81cb22869e..859250c7dc06 100644 --- a/trunk/mm/oom_kill.c +++ b/trunk/mm/oom_kill.c @@ -208,8 +208,13 @@ unsigned int oom_badness(struct task_struct *p, struct mem_cgroup *mem, */ points += p->signal->oom_score_adj; - if (points < 0) - return 0; + /* + * Never return 0 for an eligible task that may be killed since it's + * possible that no single user task uses more than 0.1% of memory and + * no single admin tasks uses more than 3.0%. + */ + if (points <= 0) + return 1; return (points < 1000) ? points : 1000; }