Subject: Re: Question about sa_upcall_userret() and sa_makeupcalls()
To: None <tech-kern@netbsd.org>
From: Rhialto <rhialto@falu.nl>
List: tech-kern
Date: 05/22/2007 01:57:44
On Fri 18 May 2007 at 11:42:28 -0700, Bill Stouder-Studenmund wrote:
> On Fri, May 18, 2007 at 02:52:31PM +1000, Daniel Carosone wrote:
> > If the upcall in question tells libpthread that the lwp has been
> > blocked, the upcall stack doesn't get recycled to process more
> > upcalls until the lwp later unblocks.
>
> I don't think that's fully correct.
>
> There are two different stacks involved. There's the stack of the thread
> that was running, made a system call, and got blocked, and then there's
> the stack for the upcall telling libpthread about the blockage.
Why do these need to be different stacks? I would think that a blocked
stack would make a perfect candidate for temporary use for upcalls.
I'm probably missing something here, because it seems too obvious :-)
-Olaf.
--
___ Olaf 'Rhialto' Seibert -- You author it, and I'll reader it.
\X/ rhialto/at/xs4all.nl -- Cetero censeo "authored" delendum esse.