[Simh] No recognizable idle loop

bsupnik at comcast.net bsupnik at comcast.net
Mon Apr 3 13:08:36 EDT 2006


I've seen this question so many times, here's the definitive answer: there is no idle job or simple idle loop in VMS.  Instead, VMS loops in the scheduler (at IPL 3) waiting for interrupts or for something to appear on a scheduler queue as a result of a higher priority interrupt.  Here is the code from VMS 7.2:

61$:
JSB	G^EXE$PROC_IDLE		;SEE IF WE HAVE  CPU SPECIFIC IDLE LOOP
BLBS	R0,61$			;NO - GO TO STANDARD LOOP
BBC	#CPB$V_RUN,CPU$L_CAPABILITY(R3),70$ ; RUN CAPABILITY PRESENT?
BBS	R1,G^SCH$GL_IDLE_CPUS,60$ ;LOOP UNTIL WE AREN'T IDLE
BRB	65$
61$:
BBC	#CPB$V_RUN,CPU$L_CAPABILITY(R3),80$ ; RUN CAPABILITY PRESENT?
TSTL	G^SCH$GL_TBSH		; Class scheduler present?
BEQL	64$			; No, see if still idle
JSB	G^SCH$CLASS_IDLE	; Yes, see if TBS job runnable
64$:
BBS	R1,G^SCH$GL_IDLE_CPUS,61$ ;LOOP UNTIL WE AREN'T IDLE

This varies from release to release as well.

/Bob Supnik

> 
> Message: 5
> Date: Mon, 03 Apr 2006 08:55:43 -0600
> From: Villy Madsen <Villy.Madsen at shaw.ca>
> Subject: [Simh] VMS Idle loop
> To: simh at trailing-edge.com
> Message-ID: <69d691969d7ad0.69d7ad069d6919 at shaw.ca>
> Content-Type: text/plain; charset=us-ascii
> 
> Does anyone have a clue what the vax/vms idle loop looks like..
> 
> at one point in time I had been told it was just a
> BRB pointing to itself
> 
> (so would that be brb 0 or brb -1 - it's been too many years and and I can't 
> remember).
> 
> 
> In case you are wondering, I am wondering if it would be possible to build a 
> throttle into the simulator so that it doesn' run wide open all of the time...
> 
> Villy
> 
> 
> 
> ------------------------------
> 
> _______________________________________________
> Simh mailing list
> Simh at trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh
> 
> 
> End of Simh Digest, Vol 29, Issue 2
> ***********************************





More information about the Simh mailing list