[PATCH] oom_kill_task: cleanup ->mm checks

From: Oleg Nesterov
Date: Sun Aug 27 2006 - 10:57:40 EST


- It is not possible to have task->mm == &init_mm.

- task_lock() buys nothing for 'if (!p->mm)' check.

Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

--- 2.6.18-rc4/mm/oom_kill.c~ 2006-08-27 22:28:42.000000000 +0400
+++ 2.6.18-rc4/mm/oom_kill.c 2006-08-27 23:09:09.000000000 +0400
@@ -262,14 +262,11 @@ static void __oom_kill_task(struct task_
return;
}

- task_lock(p);
- if (!p->mm || p->mm == &init_mm) {
+ if (!p->mm) {
WARN_ON(1);
printk(KERN_WARNING "tried to kill an mm-less task!\n");
- task_unlock(p);
return;
}
- task_unlock(p);

if (message) {
printk(KERN_ERR "%s: Killed process %d (%s).\n",
@@ -303,7 +300,7 @@ static int oom_kill_task(struct task_str
* However, this is of no concern to us.
*/

- if (mm == NULL || mm == &init_mm)
+ if (mm == NULL)
return 1;

__oom_kill_task(p, message);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/