[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a36005b50704211109s7a0f19a4k868ed05f2423c365@mail.gmail.com>
Date: Sat, 21 Apr 2007 11:09:20 -0700
From: "Ulrich Drepper" <drepper@...il.com>
To: "Ingo Molnar" <mingo@...e.hu>
Cc: "Linus Torvalds" <torvalds@...ux-foundation.org>,
"Willy Tarreau" <w@....eu>, "Con Kolivas" <kernel@...ivas.org>,
linux-kernel@...r.kernel.org,
"Andrew Morton" <akpm@...ux-foundation.org>,
"Nick Piggin" <npiggin@...e.de>, "Mike Galbraith" <efault@....de>,
"Arjan van de Ven" <arjan@...radead.org>,
"Peter Williams" <pwil3058@...pond.net.au>,
"Thomas Gleixner" <tglx@...utronix.de>, caglar@...dus.org.tr,
"Gene Heskett" <gene.heskett@...il.com>
Subject: Re: [REPORT] cfs-v4 vs sd-0.44
On 4/21/07, Ingo Molnar <mingo@...e.hu> wrote:
> on a simple 'ls' command:
>
> 21310 clone(child_stack=0, ...) = 21399
> ...
> 21399 execve("/bin/ls",
> ...
> 21310 waitpid(-1, <unfinished ...>
>
> the PID is -1 so we dont actually know which task we are waiting for.
That's a special case. Most programs don't do this. In fact, in
multi-threaded code you better never do it since such an unqualified
wait might catch the child another thread waits for (particularly bad
if one thread uses system()).
And even in the case of bash, we probably can change to code to use a
qualified wait in case there are no other children. This is known at
any time and I expect that most of the time there are no background
processes. At least in shell scripts.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists