Download VAX MP Technical Overview

Transcript
measure. 122 The crush is caused by the system trying to release a spinlock that is not held. Conclusion:
do not use MULTIPROCESSOR set to 4.
Setting MULTIPROCESSOR to 2 does cause multiprocessing system image to be properly loaded and
system execute stably.
***
On a related note, when MULTIPROCESSOR is set to 2 123, DZDRIVER, the driver for terminal multiplexer,
causes a crash when VMS is booted on the original SIMH 3.8.1, immediately on trying to log into the
system via this multiplexer or performing any IO operation on it. This is not OpenVMS bug, this is SIMH
3.8.1 bug fixed in VAX MP and expected to be fixed in SIMH 3.8.2. The problem is specific to SIMH 3.8.1
and earlier versions and is related to SIMH incorrectly defining DZ as a device interrupting at QBUS
request level BR5 translating to IPL 21. After redefining DZ to be a BR4 and IPL 20 level device (along
with all other QBus non-custom devices that should be BR4 too), as VAX MP does, the problem goes
away.
The crash is triggered by TTDRIVER trying to release a device spinlock that is not held, which in turn is
caused by improper assignment of BR level for the device by SIMH 3.8.1.
If you expect to move system disk image between VAX MP and older versions of SIMH (pre-3.8.2), you
need to be aware of the issue, since if you boot a system with MULTIPROCESSOR set to 2 on older
versions of SIMH and try to use DZ, the system will crash.
If you need to move VAX MP system disk image back to SIMH 3.8.1 and boot it on SIMH 3.8.1, follow one
of these two solutions:
•
Either boot on SIMH 3.8.1 with SYSGEN/SYSBOOT parameter MULTIPROCESSOR set to 3 or 0. DZ
driver works fine when MULTIPROCESSOR is set to 3 or 0.
•
Or use MULTIPROCESSOR set to 2, but disable DZ device in your SIMH configuration file and use
VH device instead:
set dz disable
set vh enable
attach vh 10025
; or whatever telnet port you’d want to use
Luckily, the driver for VH multiplexer works just fine both in VAX MP and SIMH 3.8.1, as well as
the driver for console and VMS TCPIP telnet connections. You can use any of these connections
instead of DZ.
122
SPLRELERR bugcheck, “Spinlock to be released is not owned”. The spinlock in question is FILSYS. This bugcheck
is triggered inside F11BXQP, in routine DEL_EXTFCB, the last SYS_UNLOCK(FILSYS, 0) in this routine. It is curious
that the bugcheck is triggered with the streamlined version of SMP code, but not with the full-checking version.
123
The problem does not happen with MULTIPROCESSOR set to 4.
102