diff options
author | Oleg Nesterov <oleg@tv-sign.ru> | 2006-09-29 02:01:13 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-29 09:18:21 -0700 |
commit | 01017a227044d64face2588fab9427a1da1bdb9f (patch) | |
tree | b1f369a8d20aff94447ac6acd18bbb23d268b443 | |
parent | 972c4ea59c9dbf82647ee9665d9e945241911a51 (diff) | |
download | kernel_samsung_smdk4412-01017a227044d64face2588fab9427a1da1bdb9f.zip kernel_samsung_smdk4412-01017a227044d64face2588fab9427a1da1bdb9f.tar.gz kernel_samsung_smdk4412-01017a227044d64face2588fab9427a1da1bdb9f.tar.bz2 |
[PATCH] oom_kill_task(): cleanup ->mm checks
- 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@tv-sign.ru>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | mm/oom_kill.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 991bf0c..a5493a3 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -260,14 +260,11 @@ static void __oom_kill_task(struct task_struct *p, const char *message) 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", @@ -301,7 +298,7 @@ static int oom_kill_task(struct task_struct *p, const char *message) * However, this is of no concern to us. */ - if (mm == NULL || mm == &init_mm) + if (mm == NULL) return 1; __oom_kill_task(p, message); |