Messages in this thread Patch in this message | | | Date | Fri, 2 Apr 2010 20:31:32 +0200 | From | Oleg Nesterov <> | Subject | [PATCH -mm 1/4] oom: select_bad_process: check PF_KTHREAD instead of !mm to skip kthreads |
| |
select_bad_process() thinks a kernel thread can't have ->mm != NULL, this is not true due to use_mm().
Change the code to check PF_KTHREAD.
Signed-off-by: Oleg Nesterov <oleg@redhat.com> ---
mm/oom_kill.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
--- MM/mm/oom_kill.c~1_FLITER_OUT_KTHREADS 2010-03-31 17:47:14.000000000 +0200 +++ MM/mm/oom_kill.c 2010-04-02 18:51:05.000000000 +0200 @@ -290,8 +290,8 @@ static struct task_struct *select_bad_pr for_each_process(p) { unsigned int points; - /* skip the init task */ - if (is_global_init(p)) + /* skip the init task and kthreads */ + if (is_global_init(p) || (p->flags & PF_KTHREAD)) continue; if (mem && !task_in_mem_cgroup(p, mem)) continue; @@ -331,8 +331,7 @@ static struct task_struct *select_bad_pr } /* - * skip kernel threads and tasks which have already released - * their mm. + * skip the tasks which have already released their mm. */ if (!p->mm) continue;
| |