Re: Slow pthread_create() under high load

From: Khimenko Victor (khim@sch57.msk.ru)
Date: Mon Mar 27 2000 - 13:30:47 EST


In <m3og80jpjt.fsf@localhost.localnet> Ulrich Drepper (drepper@redhat.com) wrote:
UD> "Khimenko Victor" <khim@sch57.msk.ru> writes:

>> AFAIK there are two issues: clone in 2.2 can not create sibling
>> (just child) and it'll lead to nasty problems since "parent" thread
>> can exit before "child" thread. In late 2.3.x it IS fixed.

UD> How do you think this should help? If you make all the threads
UD> siblings (of the initial thread), how should terminating one of them
UD> effect the others?

You'll need additional thread as it's now. Just for emergency cases.

UD> If one threads dies of a SEGFAULT all the others must, too.

Control thread will do it.

UD> Being siblings, they just continue to run. In the case of
UD> a normal multi-threaded application the parent will be the shell (or
UD> whatever program started the MT program). This program does not go on
UD> a reap the children.

Of course. That's why you'll need control thread as well: in case of SEGFAULT
this thread will kill other threads. Since it's not normal system behaviour
(normal program should not end up with SEGFAULT now and then) this code can
safely live in userspace. Creation of new thread can be done without context
switches, though... Or I'm missing something ?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:20 EST