From: Tejun Heo <tj@kernel.org>
Date: Wed, 23 Mar 2011 09:37:01 +0000 (+0100)
Subject: job control: Small reorganization of wait_consider_task()
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=823b018e;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

job control: Small reorganization of wait_consider_task()

Move EXIT_DEAD test in wait_consider_task() above ptrace check.  As
ptraced tasks can't be EXIT_DEAD, this change doesn't cause any
behavior change.  This is to prepare for further changes.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Oleg Nesterov <oleg@redhat.com>
---

diff --git a/kernel/exit.c b/kernel/exit.c
index f9a45ebcc7b1..b4a935c72159 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -1537,6 +1537,10 @@ static int wait_consider_task(struct wait_opts *wo, int ptrace,
 		return 0;
 	}
 
+	/* dead body doesn't have much to contribute */
+	if (p->exit_state == EXIT_DEAD)
+		return 0;
+
 	if (likely(!ptrace) && unlikely(task_ptrace(p))) {
 		/*
 		 * This child is hidden by ptrace.
@@ -1546,9 +1550,6 @@ static int wait_consider_task(struct wait_opts *wo, int ptrace,
 		return 0;
 	}
 
-	if (p->exit_state == EXIT_DEAD)
-		return 0;
-
 	/*
 	 * We don't reap group leaders with subthreads.
 	 */