From 04724ddf608c8589d01e472276193d0b2eb05120 Mon Sep 17 00:00:00 2001 From: David Rientjes Date: Wed, 22 Sep 2010 13:04:52 -0700 Subject: [PATCH] --- yaml --- r: 210905 b: refs/heads/master c: f19e8aa11afa24036c6273428da51949b5acf30c h: refs/heads/master i: 210903: 62757610d06c9f8d45a78e0c0a53c0049e29e5a5 v: v3 --- [refs] | 2 +- trunk/mm/oom_kill.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) 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; }