Re: SCO: "thread creation is about a thousand times faster than on native Linux"

From: yodaiken@fsmlabs.com
Date: Thu Aug 24 2000 - 12:53:02 EST


On Thu, Aug 24, 2000 at 07:21:31PM +0100, Alan Cox wrote:
> > On Thu, Aug 24, 2000 at 02:01:55PM +0200, Andi Kleen wrote:
> > > POSIX wants to send the signal to the first thread in the group who
> > > doesn't have it blocked.
> >
> > To _any_ thread in the group that does not have it blocked.
>
> Any-single or any-all ?

Any single.
>
> See you need to send them to a predictable thread for real time signals to
> preserve queue time order semantics on signal queues. Otherwise you just
> broke the entire asynchronous I/O model

I don't understand this. If the user wants I/O to come in in order to
a particular thread, the user can make it predictable. POSIX allows the
user to have more than one thread accepting signals -- sent to the
process.

But maybe you know the answer to this question: when a _thread_ initiates
an async I/O, does it want a signal sent to the thread (pthread_kill) or
to the process?

>
> > > Several signals are special cased in POSIX, e.g. SIGSTOP, and need to
> > > handled by all threads in the group.
> >
> > I think that logic needs to be in the root thread.
>
> The root thread cant catch SIGSTOP and reprocess it

Why not? We let the root thread register itself with the kernel asking
for raw signals. Now the root thread is not getting POSIX signals, but
it is invisible to any POSIX processes.

-- 
---------------------------------------------------------
Victor Yodaiken 
Finite State Machine Labs: The RTLinux Company.
 www.fsmlabs.com  www.rtlinux.com

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



This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:14 EST