Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Apr 2003 16:46:15 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        Daniel Eischen <eischen@pcnet1.pcnet.com>
Cc:        threads@freebsd.org
Subject:   Re: libkse -> libpthread
Message-ID:  <Pine.BSF.4.21.0304221645140.88002-100000@InterJet.elischer.org>
In-Reply-To: <Pine.GSO.4.10.10304220851310.27097-100000@pcnet1.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Tue, 22 Apr 2003, Daniel Eischen wrote:

> On Tue, 22 Apr 2003, Igor Sysoev wrote:
> 
> > On Mon, 21 Apr 2003, Daniel Eischen wrote:
> > > Libpthread can be made to behave the same as libthr just
> > > by forcing every thread to be scope system.  Currently,
> > > the implementation for scope system threads does have
> > > a small amount of overhead in that they still get upcalls
> > > after the thread blocks in the kernel (in this case
> > > the KSE just reenters the kernel with kse_release()
> > > and waits for the thread to become unblocked).  These
> > > KSEs also require a small stack separate from the
> > > thread's stack.  The code is in place (in the UTS) to
> > > not require a separate stack and not get any upcalls
> > > for these threads, but we just need a bit more
> > > kernel work to optimize this overhead away.
> > 
> > But why is not it implemented via setting kse_mailbox.km_curthread to NULL ?
> > As I understand it's way to disable upcalls when UTS is preempted
> > by the kernel (the time slice ended, the page in operation, etc.)
> > i.e. UTS should always run as 1:1 thread.
> > Had it been changed ?  How is UTS protected now ?

UTS is protected.. this way.. but other threads can disable upcalls by 
setting a flag in the mailbox


> 
> We can't use this method yet for 1:1 because we don't
> have a way to redirect a signal to a thread running
> like this.  We need kse_thr_interrupt() to have a signal
> argument and for the kernel to install the signal frame
> on the stack of the target thread (or keep it pending
> on the thread if masked).
> 
> -- 
> Dan Eischen
> 
> _______________________________________________
> freebsd-threads@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-threads
> To unsubscribe, send any mail to "freebsd-threads-unsubscribe@freebsd.org"
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0304221645140.88002-100000>