From 1ce3ad5d6a1f9b5e24310406b72db19948504a25 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 19 Oct 2004 18:31:59 -0700 Subject: [PATCH] [PATCH] detach_pid(): eliminate one find_pid() call Now there is no point in calling costly find_pid(type) if __detach_pid(type) returned non zero value. Acked-By: Kirill Korotaev Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- kernel/pid.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kernel/pid.c b/kernel/pid.c index 284f97a1ffa5d..185a8bee81683 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -191,15 +191,16 @@ static fastcall int __detach_pid(task_t *task, enum pid_type type) void fastcall detach_pid(task_t *task, enum pid_type type) { - int nr; + int tmp, nr; nr = __detach_pid(task, type); if (!nr) return; - for (type = 0; type < PIDTYPE_MAX; ++type) - if (find_pid(type, nr)) + for (tmp = PIDTYPE_MAX; --tmp >= 0; ) + if (tmp != type && find_pid(tmp, nr)) return; + free_pidmap(nr); } -- 2.53.0