Updated: 11 December 1998 |
OpenVMS VAX System Dump Analyzer Utility Manual
Previous | Contents | Index |
Displays the RMS data structures selected by the SET RMS command to be included in the default display of the SHOW PROCESS/RMS command.
SHOW RMS
None.
None.
The SHOW RMS command lists the names of the data structures selected for the default display of the SHOW PROCESS/RMS command.For a description of the significance of the options listed in the SHOW RMS display, see the description of the SET RMS command and Table SDA-14.
For an illustration of the information displayed by the SHOW PROCESS/RMS command, see the examples included in the description of the SHOW PROCESS command.
#1 |
---|
SDA> SHOW RMS RMS Display Options: IFB,IRB,IDX,BDB,BDBSUM,ASB,CCB,WCB,FCB,FAB,RAB,NAM, XAB,RLB,BLB,BLBSUM,GBD,GBH,FWA,GBDSUM,JFB,NWA,RU,DRC,SFSB,GBSB Display RMS structures for all IFI values. |
The SHOW RMS command displays the full set of options available for display by the SHOW PROCESS/RMS command. SDA, by default, selects the full set of RMS options at the beginning of an analysis.
#2 |
---|
SDA> SET RMS=(IFB,CCB,WCB) SDA> SHOW RMS RMS Display Options: IFB,CCB,WCB Display RMS structures for all IFI values. |
The SET RMS command establishes the IFB, CCB, and WCB as the structures to be displayed when you issue the SHOW PROCESS/RMS command. The SHOW RMS command verifies this selection of RMS options.
Displays information about response IDs (RSPIDs) of all SCS connections or, optionally, a specific SCS connection.
SHOW RSPID [/CONNECTION=cdt-address]
None.
/CONNECTION=cdt-address
Displays RSPID information for the specific SCS connection whose connection descriptor table (CDT) address is provided in cdt-address.14
Whenever a local system application (SYSAP) requires a response from a remote SYSAP, the local system assigns a unique number, called an RSPID, to the response. The RSPID is transmitted in the original request (as a means of identification), and the remote SYSAP returns the same RSPID in its response to the original request.The SHOW RSPID command displays information taken from the response descriptor table (RDT), which lists the currently open local requests that require responses from SYSAPs at a remote node. For each RSPID, SDA displays the following information:
#1 |
---|
SDA> SHOW RSPID |
VAXcluster data structures -------------------------- --- Summary of Response Descriptor Table(RDT) 8037A4A8 --- RSPID CDRP Address CDT Address Local Process Name Remote Node ----- ------------ ----------- ------------------ ----------- 04C30000 803917B0 8037AB50 VMS$DISK_CL_DRVR SOWHAT 06260001 80804FA0 8037AF10 VMS$VAXcluster WALKIN 0C390002 807E0460 8037AD30 VMS$VAXcluster OLEO . . .The SHOW RSPID command shows the response IDs that are currently open for all local connections in the VAXcluster system.
#2 |
---|
SDA> SHOW RSPID/CONNECTION=G37B7D0 |
VAXcluster data structures -------------------------- --- Summary of Response Descriptor Table(RDT) 8037A4A8 --- RSPID CDRP Address CDT Address Local Process Name Remote Node ----- ------------ ----------- ------------------ ----------- 08B8001C 807F0300 8037B7D0 VMS$VAXcluster METEOR 0915001D 807F08A0 8037B7D0 VMS$VAXcluster METEORThe SHOW RSPID/CONNECTION=G37B7D0 command displays only those RSPIDs in use that are associated with the SCS connection whose CDT is at address 8037B7D016.
14 You can find the cdt-address for any active connection on the system in the CDT summary page display of the SHOW CONNECTIONS command. CDT addresses are also stored in many individual data structures related to SCS connections. These data structures include class driver request packets (CDRPs) and unit control blocks (UCBs) for class drivers that use SCS and cluster system blocks (CSBs) for the connection manager. |
Displays information taken from the data structures that provide system synchronization in a multiprocessing environment.
SHOW SPINLOCKS [/OWNED][/BRIEF|/FULL][/DYNAMIC|/STATIC] [name|/ADDRESS=expression|/INDEX=expression]
name
Name of the spin lock, fork lock, or device lock structure to be displayed. You can obtain the names of the static system spin locks and fork locks from Table SDA-22. Device lock names are of the form [node$]lock, where node optionally indicates the VAXcluster node name (allocation class) and lock indicates the device and controller identification (for example, HAETAR$DUA).
/ADDRESS=expression
Displays the lock at the address specified in expression. You can use the /ADDRESS qualifier to display a specific device lock; however, the name of the device lock is listed as "Unknown" in the display./BRIEF
Produces a condensed display of the lock information displayed by default by the SHOW SPINLOCKS command, including the following: address, spin lock name or device name, IPL or device IPL, rank, index, ownership depth, number of waiting CPUs, CPU ID of the owner CPU, and interlock status (depth of ownership)./DYNAMIC
Displays information for all device locks in the system./FULL
Displays full descriptive and diagnostic information for each displayed spin lock, fork lock, or device lock./INDEX=expression
Displays the system spin lock whose index is specified in expression. You cannot use the /INDEX qualifier to display a device lock./OWNED
Displays information for all spin locks, fork locks, and device locks owned by the SDA current CPU. If a processor does not own any spin locks, SDA displays the following message:
The xx represents the CPU ID of the processor.
No spinlocks currently owned by CPU xx/STATIC
Displays information for all system spin locks and fork locks.
The SHOW SPINLOCKS command displays status and diagnostic information about the multiprocessing synchronization structures known as spin locks.A static spin lock is a spin lock whose data structure is permanently assembled into the system. Static spin locks are accessed as indexes into a vector of longword addresses called the spin lock vector, the address of which is contained in SMP$AR_SPNLKVEC. System spin locks and fork locks are static spin locks. Table SDA-22 lists the static spin locks.
A dynamic spin lock is a spin lock that is created based on the configuration of a particular system. One such dynamic spin lock is the device lock SYSGEN creates when configuring a particular device. This device lock synchronizes access to the device's registers and certain UCB fields. The operating system creates a dynamic spin lock by allocating space from nonpaged pool, rather than assembling the lock into the system as it does in creating a static spin lock.
See the OpenVMS VAX Device Support Manual for a full discussion of the role of spin locks in maintaining synchronization of kernel mode activities in a multiprocessing environment.
Table SDA-22 Static Spin Locks Name Description QUEUEAST Fork lock for queuing ASTs at IPL 6 FILSYS Lock on file system structures IOLOCK8 Fork lock for executing a driver fork process at IPL 8 PR_LK8 Primary CPU's private lock for IPL 8 TIMER Lock for adding and deleting timer queue entries and searching the timer queue JIB Lock for manipulating job nonpaged pool quotas as reflected by the fields JIB$L_BYTCNT and JIB$L_BYTLM in the job information block (JIB) MMG Lock on memory management, PFN database, swapper, modified page writer, and creation of per-CPU database structures SCHED Lock on process control blocks (PCBs), scheduler database, and mutex acquisition and release structures IOLOCK9 Fork lock for executing a driver fork process at IPL 9 PR_LK9 Primary CPU's private lock for IPL 9 IOLOCK10 Fork lock for executing a driver fork process at IPL 10 PR_LK10 Primary CPU's private lock for IPL 10 IOLOCK11 Fork lock for executing a driver fork process at IPL 11 PR_LK11 Primary CPU's private lock for IPL 11 MAILBOX Lock for sending messages to mailboxes POOL Lock on nonpaged pool database PERFMON Lock for I/O performance monitoring INVALIDATE Lock for system space translation buffer (TB) invalidation VIRTCONS Lock for ownership of the virtual console HWCLK Lock on hardware clock database, including the quadword containing the due time of the first timer queue entry (EXE$GQ_1ST_TIME) and the quadword containing the system time (EXE$GQ_SYSTIME) MEGA Lock for serializing access to fork-wait queue MCHECK Lock for synchronizing certain machine error handling EMB Lock for allocating and releasing error logging buffers
Note
The MCHECK and EMB spin locks, formerly separate spin locks in previous releases of OpenVMS, have been merged. When you analyze a crash, you might see one or both names when you display static spin locks.For each spin lock, fork lock, or device lock in the system, SHOW SPINLOCKS provides the following information:
- Name of the spin lock (or device name for the device lock)
- Address of the spin lock data structure (SPL)
- The owner CPU's CPU ID
- IPL at which allocation of the lock is synchronized on a local processor
- Number of nested acquisitions of the spin lock by the processor owning the spin lock ("Ownership Depth")
- Rank of the spin lock
- Number of processors waiting to obtain the spin lock
- Spin lock index (for static spin locks only)
- Timeout interval for spin lock acquisition (in terms of 10 milliseconds)
SHOW SPINLOCKS/BRIEF produces a condensed display of this same information.
If the system under analysis was executing with full-checking multiprocessing enabled (according to the setting of the MULTIPROCESSING system parameter), SHOW SPINLOCKS/FULL adds to the spin lock display the last eight PCs at which the lock was acquired or released. If applicable, SDA also displays the PC of the last release of multiple, nested acquisitions of the lock.
#1 |
---|
SDA> SHOW SPINLOCKS System static spinlock structures --------------------------------- EMB Address : 801B9EF8 Owner CPU ID : None IPL : 1F Ownership Depth : 0000 Rank : 00 CPUs Waiting : 0000 Index : 20 Timeout interval 002DC60 MCHECK Address : 801B9F48 Owner CPU ID : None IPL : 1F Ownership Depth : 0000 Rank : 01 CPUs Waiting : 0000 Index : 21 Timeout interval 002DC60 . . . IOLOCK8 Address : 801BA538 Owner CPU ID : 02 IPL : 08 Ownership Depth : 0001 Rank : 14 CPUs Waiting : 0000 Index : 34 Timeout interval 002DC60 . . . System dynamic spinlock structures ---------------------------------- HAETAR$MBA Address : 801BA178 Owner CPU ID : None IPL : 0B Ownership Depth : 0000 Rank : 08 CPUs Waiting : 0000 Index : 28 Timeout interval 002DC60 HAETAR$NLA Address : 801BA178 Owner CPU ID : None IPL : 08 Ownership Depth : 0000 Rank : 08 CPUs Waiting : 0000 Index : 28 Timeout interval 002DC60 HAETAR$PAA Address : 8063A620 Owner CPU ID : 02 DIPL : 14 Ownership Depth : 0001 Rank : 14 CPUs Waiting : 0000 Timeout interval 002DC60 . . . |
This excerpt illustrates the default output of the SHOW SPINLOCKS command. Note that the CPU whose CPU ID is 2 owns the fork lock IOLOCK8. CPU 2 must have an IPL of at least 8, which is the acquisition IPL of the fork lock. CPU 2 has no nested ownership of the fork lock. The rank of IOLOCK8 is 1416, indicating that CPU 2 could not own any locks with a logical rank of 1516 or higher when it acquired IOLOCK8.
Similarly, while owning IOLOCK8, CPU 2 cannot obtain any additional spin locks with a logical rank of 1416 or lower.
No CPUs are waiting for the fork lock; its index is 3416.
#2 |
---|
SDA> SHOW SPINLOCKS/BRIEF Address Spinlock Name IPL Rank Index Depth #Waiting Owner CPU Interlock ---------------------------------------------------------------------------- 801B9EF8 EMB 1F 00 20 00 0000 None Free 801B9EF8 MCHECK 1F 00 20 00 0000 None Free 801B9F98 MEGA 1F 02 22 00 0000 None Free 801B9FE8 HWCLK 16 03 23 00 0000 None Free 801BA038 VIRTCONS 14 04 24 00 0000 None Free 801BA088 INVALIDATE 13 05 25 00 0000 None Free 801BA0D8 PERFMON 0F 06 26 00 0000 None Free 801BA128 POOL 0B 07 27 00 0000 None Free 801BA178 MAILBOX 0B 08 28 00 0000 None Free 801BA1C8 PR_LK11 0B 09 29 00 0000 None Free 801BA218 IOLOCK11 0B 0A 2A 00 0000 None Free 801BA268 PR_LK10 0A 0B 2B 00 0000 None Free 801BA2B8 IOLOCK10 0A 0C 2C 00 0000 None Free 801BA308 PR_LK9 09 0D 2D 00 0000 None Free 801BA358 IOLOCK9 09 0E 2E 00 0000 None Free 801BA3A8 SCHED 08 0F 2F 00 0000 None Free 801BA3F8 MMG 08 10 30 00 0000 None Free 801BA448 JIB 08 11 31 00 0000 None Free 801BA498 TIMER 08 12 32 00 0000 None Free 801BA4E8 PR_LK8 08 13 33 00 0000 None Free 801BA538 IOLOCK8 08 14 34 01 0000 02 00 801BA588 FILSYS 08 15 35 00 0000 None Free 801BA5D8 QUEUEAST 06 16 36 00 0000 None Free 8016A628 ASTDEL 02 17 37 00 0000 None Free Address Device Name DIPL Rank Index Depth #Waiting Owner CPU Interlock ---------------------------------------------------------------------------- 801BA178 HAETAR$MBA 0B 08 28 00 0000 None Free 801BA178 HAETAR$NLA 08 08 28 00 0000 None Free 8063A620 HAETAR$PAA 14 14 01 0000 02 00 8063C5C0 HAETAR$XEA 15 FF 00 0000 None Free 8063C4A0 HAETAR$XGA 15 FF 00 0000 None Free 8063C380 HAETAR$PEA 14 FF 00 0000 None Free 8063AC40 HAETAR$TXA 15 FF 00 0000 None Free 8063A520 HAETAR$LCA 15 FF 00 0000 None Free 801BA538 HAETAR$CNA 08 14 34 01 0000 02 00 . . . |
This excerpt illustrates the condensed form of the display produced in the first example.
#3 |
---|
SDA> SHOW SPINLOCKS/OWNED System static spinlock structures --------------------------------- IOLOCK8 Address : 801BA538 Owner CPU ID : 02 IPL : 08 Ownership Depth : 0001 Rank : 14 CPUs Waiting : 0000 Index : 34 Timeout interval 002DC60 . . . System dynamic spinlock structures ---------------------------------- HAETAR$PAA Address : 8063A620 Owner CPU ID : 02 DIPL : 14 Ownership Depth : 0001 Rank : 14 CPUs Waiting : 0000 Timeout interval 002DC60 HAETAR$CNA Address : 801BA538 Owner CPU ID : 02 IPL : 08 Ownership Depth : 0001 Rank : 14 CPUs Waiting : 0000 Index : 34 Timeout interval 002DC60 HAETAR$NET Address : 801BA538 Owner CPU ID : 02 IPL : 08 Ownership Depth : 0001 Rank : 14 CPUs Waiting : 0000 Index : 34 Timeout interval 002DC60 HAETAR$NDA Address : 801BA538 Owner CPU ID : 02 IPL : 08 Ownership Depth : 0001 Rank : 14 CPUs Waiting : 0000 Index : 34 Timeout interval 002DC60 . . . |
The SHOW SPINLOCKS/OWNED command shows all owned spin locks in the system.
#4 |
---|
SDA> SHOW SPINLOCKS/FULL System static spinlock structures --------------------------------- EMB Address : 801B9EF8 Owner CPU ID : None IPL : 1F Ownership Depth : 0000 Rank : 00 CPUs Waiting : 0000 Index : 20 Timeout interval 002DC60 Spinlock EMB was last acquired or released from: (Most recently) 80195146 ERL$WAKE+00089 . 801950EF ERL$WAKE+00032 . 80195146 ERL$WAKE+00089 . 801950EF ERL$WAKE+00032 . 80195146 ERL$WAKE+00089 . 801950EF ERL$WAKE+00032 . 80195146 ERL$WAKE+00089 (Least recently) 801950EF ERL$WAKE+00032 . . . Last release of multiple acquisitions occurred at: 801194F9 EXE$INSIOQ+00044 . . . IOLOCK8 Address : 801BA538 Owner CPU ID : 02 IPL : 08 Ownership Depth : 0001 Rank : 14 CPUs Waiting : 0000 Index : 34 Timeout interval 002DC60 Spinlock IOLOCK8 was last acquired or released from: (Most recently) 801BBE08 EXE$FORKDSPTH+0007E . 80198EBF EXE$QIOACPPKT+00052 . 80198E7E EXE$QIOACPPKT+00011 . 80199BB2 IOC$CHECK_HWM+0032D . 80182DE5 LCK$QUEUED_EXIT+0001D . 80182884 LCK$AR_COMPAT_TBL+0007C . 8018357E EXE$DEQ+00189 (Least recently) 80183428 EXE$DEQ+00033 . . . |
The SHOW SPINLOCKS/FULL command displays a list of the last eight PCs that have accessed the spin lock. For instance, the fork dispatcher contains the code that most recently acquired the fork lock.
Previous | Next | Contents | Index |
Copyright © Compaq Computer Corporation 1998. All rights reserved. Legal |
4556PRO_016.HTML
|