Subject: Re: yet another SA assertion failure with 3.0
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Chuck Silvers <chuq@chuq.com>
List: tech-kern
Date: 11/09/2005 08:43:08
On Wed, Nov 09, 2005 at 07:33:06AM +0900, YAMAMOTO Takashi wrote:
> > > i don't think that you really need "allsusp" handing in that case.
> > 
> > hmm, I think you're right.  some LWP should wake up soon enough.
> > this new patch seems to work, how does it look to you?
> > 
> > -Chuck
> 
> i think that "allsusp" can happen even for P_SA processes by
> eg. artificial _lwp_suspend and _lwp_exit.
> (well, _lwp_* syscalls are dangerous. :-)
> so it needs explicit LSSUSPENDED checks like the non-SA case does.
> otherwise looks ok to me.

the SA code will put LWPs into LSSUSPENDED state also,
and I can't tell if those making those LWPs runnable
unexpectedly would cause other problems.

a simpler way to avoid this problem would be to disallow
_lwp_suspend() and _lwp_continue() for SA processes.
there doesn't seem to be any value in allowing an application
to fight with the SA subsystem for control of LWPs.


> btw, "ok to signal vp lwp" case seems missing break.

hmm, you're right.  and that would have prevented the crash
in the one dump that I examined, since there were a couple
threads in that state.

-Chuck