[PATCH 2/2] detach_pid(): eliminate one find_pid() call

From: Oleg Nesterov
Date: Fri Oct 01 2004 - 06:17:20 EST


Hello.

Now there is no point in calling costly find_pid(type)
if __detach_pid(type) returned non zero value.

Oleg.

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

--- 2.6.9-rc3/kernel/pid.c~ Fri Oct 1 13:29:14 2004
+++ 2.6.9-rc3/kernel/pid.c Fri Oct 1 15:12:32 2004
@@ -206,15 +206,16 @@ static fastcall int __detach_pid(task_t

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);
}
-
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/