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.