A spin type lock is necessary if the code is running disabled.  It also means 
that the lock must never be obtained by enabled code. and as previously state, 
recovery is mandatory.

Disabled code is not for the faint of heart.  It's very easy to shoot the whole 
system in disabled code, especially in uniprocessor LPARs.  The products I work 
on have DIE and RISGNL (SIGP) routines that run disabled.  We've had our share 
of "Oh, *&^%*!" over the years, fortunately few and far between and none 
recently.

Keith Moe
BMC Software
--------------------------------------------
On Tue, 12/19/17, Ed Jaffe <edja...@phoenixsoftware.com> wrote:

 Subject: Re: LT Instruction After Compare And Swap
 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
 Date: Tuesday, December 19, 2017, 2:14 PM
 
 On 12/19/2017 1:16 PM, Charles
 Mills wrote:
 > Isn't there some issue
 with using SUSPEND or RESUME if the caller of the code in
 question might hold locks and you have no control over that
 (such as in a system exit)?
 
 Haha! Yes, and that applies to WAIT and PAUSE
 as well. The secret is to 
 architect things
 such that asynchronous requests while locked are not 
 necessary.
 
 And, that's just the tip of the iceberg on
 the restrictions present when 
 locked! You
 really can't do much of anything...
 
 -- 
 Phoenix Software
 International
 Edward E. Jaffe
 831 Parkview Drive North
 El
 Segundo, CA 90245
 http://www.phoenixsoftware.com/
 

Reply via email to