[Simh] No recognizable idle loop
bsupnik@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