correlated with the system response. When the system responds quickly, the user is
alert, ready for the next interaction, and thought processes are uninterrupted.
When the system response is poor, the user becomes sluggish.
For interactive environments, a need exists to analyze command usage. Average
execution time of the truly interactive commands can provide data for validation of
the Queue 1 execution time.
Trace Table Recording Facility
The Trace Table Recording Facility provides Field Engineering and system pro­
grammers with problem determination capability. The facility, using the CPTRAP command, creates a READER spool file of selected trace table entries, CP data
entries, and virtual machine data entries in the order they happen. A CMS data
reduction program, TRAPRED, is also provided to examine the data collected. Output can be either a spooled print file or an interactive terminal display.
Recording CP Trace Table Entries in the CPTRAP File
The current CP internal trace table is a 'wrap' table that continuously overlays pre­
viously stored information. The trace table recording facility continues to store
trace table entries in the trace table and, in addition, to the spool under command
control. The trace records are selectable by trace type with the CPTRAP com­
mand.
Current trace record types are: 01 - External interrupt OE - Test I/O 02 - SVC interrupt OF - Halt device 03 - Program interrupt 10 - Unstack 10BLOK or TRQBLOK 04 - Machine check interrupt 11 - NCP BTU 05 - I/O interrupt 12 - Spinning on lock 06 - Free storage 13 - SIGP issued 07 - Return storage 14 -Clear Channel issued 08 - Enter scheduler 15 - IUCV Communication 09 - Queue drop 16 - SNA Console Comm. Services OA - Run user 17 - MSSF Support OB - Start I/O 18 - Start I/O Fast Release OC - Unstack I/O interrupt 19 -Simulated I/O interrupt OD - Virtual CSW store IB - Clear I/O The trace table recording facility allows selection of input by trace table type
(typenum) and further selection based on a field in the trace table entry. The three
allowed fields are VMBLOK address, device address (DEV ADDR) , and code
Performance Observation and Analysis 61
(CODE). Selectivity by typenum is allowed up to X'3F', inclusive, to allow for
future trace types. Further selectivity using VMBLOK, DEV ADDR, and CODE, is only defined for the CP trace types. Selected CP trace table entries are moved to
the spool file without change to their format or length.
Passing Virtuall\1achine Data to the CPTRAP File
This interface allows the virtual machine to enter data into the CPTRAP spool file.
The virtual machine interface is inserted into a problem area by a FE or system
programmer using the STORE CP command. When enabled, via the CPTRAP ALLOWID subcommand, the data area is paged in by the CPTRAP facility, but
must be an address within the virtual machine's storage. The data length can be
variable up to a maximum of 264 bytes. Longer requests are honored only for the
first 264 bytes with no indication that data length has been truncated.
The interface is via a class 10 monitor call instruction. The user should use monitor
code 0 with this instruction. Therefore, any virtual machine running user written
programs that use a class 10 monitor call should not use the CPTRAP virtual
machine interface facility because of unpredictable results.
A monitor call instruction can be executed in virtual supervisor or virtual problem
state, BC mode or EC mode, and in multi-level environments. Multi-level is
defined as VM/SP running a guest virtual machine (GVM) of a VM/SP system.
There is no restriction on the number of interfaces that can be active at once, or
the number of virtual machines that can use them. Within VM/SP, the trace facili­
ty maintains an ordered file of the virtual interface information and selected VM/SP control program (CP) information.
The first byte of a virtual interface record is assigned a type X'3E', for virtual
machine records. The second byte is reserved. The third and fourth bytes contain
the user-defined code to individualize this record. The fifth and sixth bytes contain
the length. The length is the full record including the type indicator, reserved
bytes, two code bytes, the two length bytes, and the data itself. The seventh and
eighth bytes are reserved. The data starts on the ninth byte of the record to supply
doubleword alignment. The total record length is a multiple of 16 bytes to keep
incore trace record alignment. This facilitates reading the nontransferred records
from a dump. A time stamp is put on every 4K spool block.
Register 1 must contain a pointer to a P ARM field that contains a pointer to the
data, the length of the data, and the individualizing code. The data must be 264
bytes or less, and reside in the virtual machine. If the length is greater than 264
bytes, only the first 264 are taken.
The individualizing code exists so that interface data may be identified at data
reduction time. It is the user's responsibility to make it a unique indication of
where the interface was inserted. To use the virtual machine interface, each virtual
machine must be enabled via the ALLOWid operand of the class C CPTRAP
command. For a complete description of the CPTRAP command and its operands,
see the VM / SP Operator's Guide.
The interface is:
MC 0,10 with Register 1 set as follows:
R1 is a pointer to an 8-byte parameter list whose format is:
62 VM/SP System Programmer's Guide
Previous Page Next Page