1:N threading
Daniel Eischen
eischen at pcnet1.pcnet.com
Thu Apr 3 16:01:29 PST 2003
On Thu, 3 Apr 2003, Geoffrey C. Speicher wrote:
> On Thu, 3 Apr 2003, Daniel Eischen wrote:
>
> > On Thu, 3 Apr 2003, Geoffrey C. Speicher wrote:
> >
> > > OK, so we've got 1:N threading (libc_r), 1:1 threading (thr), and M:N
> > > threading (KSE). Each model has its own merit depending on the
> > > application.
> > >
> > > However, it would still be nice if the 1:N model didn't block the whole
> > > process when a thread blocks. Is there any reason to hold onto a pure
> > ^ in the kernel.
> >
> > > userland implementation of 1:N? Can libc_r be implemented in terms of
> > > KSE?
> >
> > Libc_r will go bye-bye. The KSE library will give you 1:N
> > as long as you don't use pthread_setconcurrency() and don't
> > create any PTHREAD_SCOPE_PROCESS threads.
>
> Two questions:
>
> 1. You meant PTHREAD_SCOPE_SYSTEM, right?
Sorry, yes. I always seem to make that mistake.
> 2. Does always using PTHREAD_SCOPE_PROCESS give 1:1 threading
> that would also replace libthr?
Yes, it would give the same effect. With the current
KSE architecture, there is a small overhead for scope
system threads, but with a few, probably minor, changes
to the kernel and UTS we can get rid of that. Performance
tuning comes last :-)
--
Dan Eischen
More information about the freebsd-threads
mailing list