Materialize Process Attributes (MATPRATR)
Instruction Syntax
Op Code (Hex) | Operand 1 | Operand 2 | Operand 3 |
---|---|---|---|
0333 | Receiver | Process control space | Materialization options |
Operand 2: System pointer or null.
Operand 3: Character(1) scalar.
Bound Program Access |
---|
|
Warning
The following information is subject to change from release to release. Use it with caution and be prepared to adjust for changes with each new release.
Description:
The instruction causes either one specific attribute or all the attributes of the designated process to be materialized.
Operand 1 specifies a space that is to receive the materialized attribute values. The space pointer specified in operand 1 must address a 16-byte aligned area.
Operand 2 identifies the process control space associated with the process whose attributes are to be materialized. If operand 2 is NULL, the attributes being materialized will be those associated with the thread that issued the instruction. Otherwise, the attributes being materialized will be those associated with the initial thread of the identified process. If process attributes are being materialized by a thread in another process, the thread must be contained in the process that initiated the subject process or the thread must have process control special authorization defined in its user profile or in a currently adopted user profile.
Operand 3 specifies which process attribute is to be materialized.
A summary of the allowable hex values for operand 3 follows.
Option on Materialize Process Attributes | Page | Attribute Scope | |
---|---|---|---|
Valid Process Control Space pointer | Null Operand | ||
00 - Entire PDT | reference #0 | Process and initial thread | Process and issuing thread |
01 - Process type | reference #0 | Process | Process |
02 - Instruction wait access state control | reference #0 | Process | Process |
03 - Time slice end access state control | reference #0 | Process | Process |
04 - Time slice event option | reference #0 | Process | Process |
06 - Initiation phase program option | reference #0 | Process | Process |
07 - Problem phase program option | reference #0 | Process | Process |
08 - Termination phase program option | reference #0 | Process | Process |
09 - Process default exception handler option | reference #0 | Process | Process |
0A - Name resolution list option | reference #0 | Initial thread | Issuing thread |
0B - Process access group option | reference #0 | Process | Process |
0C - Signal event control mask | reference #0C | Process | Process |
0D - Number of event monitors | reference #0D | Process | Process |
0E - Process Priority | reference #0E | Process | Process |
0F - Main storage pool ID | reference #0F | Initial thread | Issuing thread |
10 - Maximum temporary auxiliary storage allowed | reference #10 | Process | Process |
11 - Time slice interval | reference #11 | Process | Process |
12 - Default time-out interval | reference #12 | Process | Process |
13 - Maximum processor time allowed | reference #13 | Process | Process |
14 - Multi-programming level class ID | reference #14 | Initial thread | Issuing thread |
15 - Modification control indicators | reference #15 | Process | Process |
16 - User profile pointer | reference #16 | Initial thread | Issuing thread |
17 - Process Communications Object (PCO) pointer | reference #17 | Process | Process |
18 - Name resolution list pointer | reference #18 | Process | Process |
19 - Initiation phase program pointer | reference #19 | Process | Process |
1A - Termination phase program pointer | reference #1A | Process | Process |
1B - Problem phase program pointer | reference #1B | Process | Process |
1C - Process default exception handler program pointer | reference #1C | Process | Process |
1F - Process access group pointer | reference #1F | Process | Process |
20 - Process status indicators | reference #20 | Process and initial thread | Process and issuing thread |
21 - Process resource usage attributes | reference #21 | Process | Process |
22 - Obsolete | reference #22 | Not applicable | Not applicable |
23 - Thread performance attributes | reference #23 | Initial thread | Issuing thread |
24 - Execution status attributes | reference #24 | Process and initial thread | Process and issuing thread |
25 - Process control space pointer | reference #25 | Process | Process |
26 - Group profile list | reference #26 | Initial thread | Issuing thread |
27 - Group profile list option | reference #27 | Initial thread | Issuing thread |
28 - Process category | reference #28 | Process | Process |
29 - Queue space object pointer | reference #29 | Process | Process |
2A - Secondary process communications object (PPCO) pointer | reference #2A | Process | Process |
2B - Signal enablement option | reference #2B | Process | Process |
2C - Process signal controls | reference #2C | Process and initial thread | Process and issuing thread |
2D - Lock statistics | reference #2D | Initial thread | Issuing thread |
The value of attribute scope is as follows:
- Attribute Scope
- Meaning
- Process
- The attribute is maintained as the process level resource. The value materialized has the same value for all threads within the process.
- Initial thread
- The attribute is maintained as a thread level resource. The value materialized is only applicable to the initial thread within the process.
- Issuing thread
- The attribute is maintained as a thread level resource. The value materialized is only applicable to the thread within the process that is being materialized.
- Process and initial thread
- The attribute being materialized is derived from values maintained at the process level and the initial thread within the process.
- Process and issuing thread
- The attribute being materialized is derived from values maintained at the process level and the issuing thread within the process.
The materialization template has the following general format when a scalar attribute is materialized:
Offset | |||
---|---|---|---|
Dec | Hex | Field Name | Data Type and Length |
0 | 0 | Materialization size specification | Char(8) |
0 | 0 |
|
|
4 | 4 |
|
|
8 | 8 | Process scalar attributes | Char(*) |
* |
* |
--- End --- |
|
The materialization template has the following general format when a pointer attribute is materialized:
Offset | |||
---|---|---|---|
Dec | Hex | Field Name | Data Type and Length |
0 | 0 | Materialization size specification | Char(8) |
0 | 0 |
|
|
4 | 4 |
|
|
8 | 8 | Reserved (binary 0) | Char(8) |
16 | 10 | Process pointer attribute | System pointer or Space pointer |
32 |
20 |
--- End --- |
|
The following attributes require materialization sizes of varying lengths. The attributes to be materialized and their operand 3 materialization option values follow:
- Process control attributes
This template is returned for the following operand 3 values:
- Hex 01 - Process type
- Hex 02 - Instruction wait access state control
- Hex 03 - Time slice end access state control
- Hex 04 - Time slice event option
- Hex 06 - Initiation phase program option
- Hex 07 - Problem phase program option
- Hex 08 - Termination phase program option
- Hex 09 - Process default exception handler option
- Hex 0A - Name resolution list option
- Hex 0B - Process access group option
- Hex 27 - Group profile list option
- Hex 2B - Signal enablement option
Offset | |||
---|---|---|---|
Dec | Hex | Field Name | Data Type and Length |
8 | 8 | Process control attributes | Char(4) |
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 | 8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 |
8 |
|
|
8 | 8 |
|
|
8 | 8 |
|
|
12 |
C |
--- End --- |
|
The resource management attributes and data types are as follows:
- Hex 0C = Signal event control mask
Offset Dec Hex Field Name Data Type and Length 8 8 Signal event control mask Char(2) 10
A
--- End ---
- Hex 0D = Number of event monitors
Offset Dec Hex Field Name Data Type and Length 8 8 Number of event monitors Bin(2) 10
A
--- End ---
- Hex 0E = Process priority
Offset Dec Hex Field Name Data Type and Length 8 8 Process priority Char(1) 9
9
--- End ---
- Hex 0F = Main storage pool ID
Offset Dec Hex Field Name Data Type and Length 8 8 Main storage pool ID Char(1) 9
9
--- End ---
The main storage pool ID materialized is the value that is currently in effect for the thread. Its value is either the main storage pool ID for the process or the time-slice-end main storage pool ID for the process. The materialization option hex 00 materializes the current values for both main storage pool IDs.
- Hex 10 = Maximum temporary auxiliary storage allowed
Offset Dec Hex Field Name Data Type and Length 8 8 Maximum temporary auxiliary storage allowed in bytes Bin(4) 12 C Maximum temporary auxiliary storage allowed in megabytes UBin(4) 16
10
--- End ---
Maximum temporary auxiliary storage allowed in bytes and maximum temporary auxiliary storage allowed in megabytes are the maximum temporary storage that may be charged to the process without notifying the operating system. Maximum temporary auxiliary storage allowed in bytes is limited to 2,147,483,647, which is the value returned if the process may use more (even unlimited) temporary storage. Maximum temporary auxiliary storage allowed in megabytes is zero if the process may use unlimited temporary storage. Both fields are zero if the accounting bucket for the process is a global bucket.
- Hex 11 = Time slice interval
Offset Dec Hex Field Name Data Type and Length 8 8 Time slice interval Char(8) 16
10
--- End ---
- Hex 12 = Default time-out interval
Offset Dec Hex Field Name Data Type and Length 8 8 Default time-out interval Char(8) 16
10
--- End ---
- Hex 13 = Maximum processor time allowed
Offset Dec Hex Field Name Data Type and Length 8 8 Maximum processor time allowed Char(8) 16
10
--- End ---
- Hex 14 = Multi-programming level class ID
Offset Dec Hex Field Name Data Type and Length 8 8 Multi-programming level class ID Char(1) 9
9
--- End ---
The multi-programming level class ID materialized is the value that is currently in effect for the thread. Its value is either the multi-programming level class ID for the process or the time-slice-end multi-programming level class ID for the process. The materialization option hex 00 materializes the current values for both multi-programming level class IDs.
- Hex 15 = Modification control indicators
The modification control indicators are materialized when the operand 3 value is hex 15. Each indicator specifies the modification options allowed for a process either by a thread within the process, by a thread in the initiating process or by a thread in a process whose governing user profile(s) has process control special authorization. The possible values of each modification control indicator are as follows:
- 00 =
- Modification of the attribute is not allowed.
- 01 =
- Modification is allowed only in the initiation and termination phases, and only by threads within the executing process. Threads within processes other than the process being modified cannot modify this attribute.
- 11 =
- Modification is allowed in all phases and by threads within all processes.
The bit assignments of the modification control indicators are as follows:
Offset Dec Hex Field Name Data Type and Length 8 8 Modification control indicators Char(8) 8 8 - Instruction wait access state control
- Bits 0-1
8 8 - Time slice end access state control
- Bits 2-3
8 8 - Time slice event option
- Bits 4-5
8 8 - Reserved (binary 0)
- Bits 6-7
8 8 - Problem phase program option
- Bits 8-9
8 8 - Termination phase program option
- Bits 10-11
8 8 - Process default exception handler option
- Bits 12-13
8 8 - Name resolution list option
- Bits 14-15
8 8 - Signal event control mask
- Bits 16-17
8 8 - Process priority
- Bits 18-19
8 8 - Main storage pool ID
- Bits 20-21
8 8 - Maximum temporary auxiliary storage allowed
- Bits 22-23
8 8 - Time slice interval
- Bits 24-25
8 8 - Default time-out interval
- Bits 26-27
8 8 - Maximum processor time allowed
- Bits 28-29
8 8 - Multi-programming level class ID
- Bits 30-31
8 8 - User profile pointer
- Bits 32-33
8 8 - Reserved (binary 0)
- Bits 34-35
8 8 - Name resolution list pointer
- Bits 36-37
8 8 - Termination phase program pointer
- Bits 38-39
8 8 - Problem phase program pointer
- Bits 40-41
8 8 - Process default exception handler
- Bits 42-43
8 8 - Group profile list
- Bits 44-45
8 8 - Reserved (binary 0)
- Bits 46-47
8 8 - Process category
- Bits 48-49
8 8 - Recycling control for process storage addresses used by user state programs
- Bits 50-51
8 8 - Signal enablement option
- Bits 52-53
8 8 - Process signals controls
- Bits 54-55
8 8 - Secondary threads option
- Bits 56-57
8 8 - Reserved (binary 0)
- Bits 58-63
16
10
--- End ---
- Hex 40 = Processor resource priority
Offset Dec Hex Field Name Data Type and Length 8
8
Processor resource priority
- 0 =
- The machine selects processor resource priority
- 1 =
- High processor resource priority
- 2 =
- Medium processor resource priority
- 3 =
- Low processor resource priority
UBin(1)
9
9
--- End ---
Processor resource priority specifies the relative importance of threads in the process, which guides how the machine apportions processor resource when it dispatches threads.
The process pointer attributes which may be materialized are the following:
- Hex 16 = User profile pointer
Offset Dec Hex Field Name Data Type and Length 16 10 User profile pointer System pointer 32
20
--- End ---
The system pointer with addressability to the effective user profile is placed into the space addressed by operand 1. If the materialization option hex 00 is specified in operand 3, a reserved Char(7) field is included at this point, prior to the materialized user profile pointer.
- Hex 17 = Process communication object (PCO) pointer
Offset Dec Hex Field Name Data Type and Length 16 10 Process communication object pointer Space pointer 32
20
--- End ---
The PCO space pointer is placed in the space addressed by operand 1.
- Hex 18 = Name resolution list (NRL) pointer
Offset Dec Hex Field Name Data Type and Length 16 10 Name resolution list pointer Space pointer 32
20
--- End ---
The space pointer to the NRL is placed in the space addressed by operand 1.
- Hex 19 = Initiation phase program pointer
Offset Dec Hex Field Name Data Type and Length 16 10 Initiation phase program pointer System pointer 32
20
--- End ---
The system pointer to the program is placed in the space addressed by operand 1.
- Hex 1A = Termination phase program pointer
Offset Dec Hex Field Name Data Type and Length 16 10 Termination phase program pointer System pointer 32
20
--- End ---
The system pointer to the program is placed in the space addressed by operand 1.
- Hex 1B = Problem phase program pointer
Offset Dec Hex Field Name Data Type and Length 16 10 Problem phase program pointer System pointer 32
20
--- End ---
The system pointer to the program is placed in the space addressed by operand 1.
- Hex 1C = Process default exception handler (PDEH) program
Offset Dec Hex Field Name Data Type and Length 16 10 Process default exception handler program System pointer 32
20
--- End ---
The system pointer to the PDEH is placed in the space addressed by operand 1.
- Hex 1F = Process access group (PAG)
Offset Dec Hex Field Name Data Type and Length 16 10 Process access group System pointer 32
20
--- End ---
The system pointer with addressability to the PAG is placed in the space addressed by operand 1.
The following attributes require materialization sizes of varying lengths. The attributes to be materialized and their operand 3 materialization option values follow.
- Hex 20 = Process status indicators
Process status indicators are materialized when the value of operand 3 is hex 20. The format and associated values of this attribute are as follows:
Offset Dec Hex Field Name Data Type and Length 8 8 Thread state Char(2) 8
8
External existence state
- 000 =
- Suspended due to Suspend Process or Suspend Thread
- 010 =
- Suspended due to Suspend Process or Suspend Thread, in instruction wait
- 100 =
- Active, in ineligible wait
- 101 =
- Active, in current MPL
- 110 =
- Active, in instruction wait
- 111 =
- Active, in instruction wait, in current MPL
Bits 0-2
8 8 - Invocation exit active
- Bit 3
8 8 - Stopped by a signal
- Bit 4
8 8 - Suspended by Suspend Thread
- Bit 5
8 8 - Reserved (binary 0)
- Bits 6-7
8
8
Internal processing phase
- 001 =
- Initiation phase
- 010 =
- Problem phase
- 100 =
- Termination phase
Bits 8-10
8 8 - Reserved (binary 0)
- Bits 11-15
10 A Pending thread interrupts Char(2) 10 A - Time slice end
- Bit 0
10 A - Transfer lock
- Bit 1
10 A - Asynchronous lock retry
- Bit 2
10 A - Suspend process
- Bit 3
10 A - Resume process
- Bit 4
10 A - Modify resource management attribute
- Bit 5
10 A - Modify process or thread attribute
- Bit 6
10 A - Terminate machine processing
- Bit 7
10 A - Terminate process or thread
- Bit 8
10 A - Wait time-out
- Bit 9
10 A - Event schedule
- Bit 10
10 A - Thread operations between threads
- Bit 11
10 A - Cancel long running instruction
- Bit 12
10 A - Reserved (binary 0)
- Bit 13
10 A - Deliver queue space message
- Bit 14
10 A - Signal schedule
- Bit 15
12 C Process initial internal termination status Char(3) 12
C
Initial internal termination reason
- Hex 80 =
- Return from first invocation in problem phase
- Hex 40 =
- Return from first invocation in initiation phase and no problem phase program specified.
- Hex 21 =
- Terminate Thread (TERMTH) instruction issued against the initial thread by a thread in the process.
- Hex 20 =
- Terminate Process (TERMPR) instruction issued by a thread within the process.
- Hex 18 =
- An unhandled signal with a default signal handling action of terminate the process or terminate the request was delivered to the process.
- Hex 10 =
- Exception was not handled by the initial thread in the process.
- Hex 11 =
- Unhandled exception occurred in the process causing it to terminate with some invocation exits not running.
- Hex 00 =
- Process terminated externally.
Bits 0-7
12
C
Initial internal termination code
The code is assigned in one of the following ways:- If the termination is caused by a Return External (RTNEXCP) instruction from the first invocation in the initial thread, then this code is binary 0's.
- If the termination is caused by an unhandled signal, then this code is the signal number of the unhandled signal.
- The code is assigned by the original exception code that caused process termination to start.
Note: The process initial internal termination status represents the final internal termination status prior to entering the termination phase. It is updated by the most recent internal termination action. It is possible for both the process initial internal termination status and the process initial external termination status fields to contain valid non-zero values.
Bits 8-23
15 F Process initial external termination status Char(3) 15
F
Initial external termination reason:
- Hex 80 =
- Terminate Process (TERMPR) instruction issued explicitly to the process by a thread in another process.
- Hex 40 =
- Terminate Thread (TERMTH) instruction issued explicitly to the initial thread of the process by a thread in another process.
- Hex 00 =
- Process terminated internally.
Bits 0-7
15
F
Initial external termination code:
Note: The process external internal termination status represents the final external termination status prior to entering the termination phase. It is updated by the most recent external termination action. It is possible for both the process initial internal termination status and the process initial external termination status fields to contain valid non-zero values.
Bits 8-23
18 12 Process final termination status Char(3) 18
12
Final termination reason:
- Hex 80 =
- Return instruction from first invocation.
- Hex 41 =
- Terminate Thread (TERMTH) instruction issued against the initial thread in the process by a thread within this process.
- Hex 40 =
- Terminate Process (TERMPR) instruction issued by a thread within the process.
- Hex 21 =
- Terminate Thread (TERMTH) instruction issued against the initial thread in the process by a thread in another process.
- Hex 20 =
- Terminate Process (TERMPR) instruction issued for the process by a thread in another process.
- Hex 18 =
- An unhandled signal with a default signal handling action of terminate the process or terminate the request was delivered to the process.
- Hex 10 =
- Exception was not handled by the initial thread in the process.
- Hex 11 =
- Unhandled exception occurred in the process causing it to terminate with some invocation exits not running.
Bits 0-7
18
12
Final termination code
Assigned in one of the following ways:- If the termination is caused by a Return External (RTNEXCP) instruction from the first invocation in the initial thread, then this code is binary 0's.
- If the termination is caused by an unhandled signal, then this code is the signal number of the unhandled signal.
- The code is assigned by the original exception code that caused process termination to start.
The process final termination status is presented as event-related data in the terminate process event. Usually the event is the only source of the process final termination status since the process will cease to exist before its attributes can be materialized.
Note: The process final termination status describes how the final phase of the process terminated. It is updated by the most recent termination action for the final process phase.
Bits 8-23
21
15
--- End ---
- Hex 21 = Process resource usage attributes
Process resource usage attributes are materialized when the value of operand 3 is hex 21. The format and associated values of this attribute are as follows:
Offset Dec Hex Field Name Data Type and Length 8 8 Temporary auxiliary storage used in bytes Bin(4) 12 C Total processor time used Char(8) 20
14
Number of process scoped locks currently held by the process
(including implicit locks)Bin(2)
22 16 Reserved (binary 0) Char(2) 24 18 Temporary auxiliary storage used in megabytes UBin(4) 28 1C Temporary storage accounting identifier UBin(4) 32 20 Database processor time used Char(8) 40 28 Page faults Char(8) 48 30 Synchronous database reads Char(8) 56 38 Asynchronous database reads Char(8) 64 40 Synchronous database writes Char(8) 72 48 Asynchronous database writes Char(8) 80 50 Synchronous non-database reads Char(8) 88 58 Asynchronous non-database reads Char(8) 96 60 Synchronous non-database writes Char(8) 104 68 Asynchronous non-database writes Char(8) 112 70 Total scaled processor time used Char(8) 120 78 Peak temporary storage UBin(8) 128 80 Hardware instructions run UBin(8) 136
88
--- End ---
Temporary auxiliary storage used in bytes and temporary auxiliary storage used in megabytes are the amount of temporary storage charged to the process. Temporary auxiliary storage used in bytes is limited to 2,147,483,647 bytes regardless of how much storage is charged. Temporary auxiliary storage used in megabytes is rounded down to the nearest megabyte (e.g. if a process uses 900 KB, this value is zero). Both fields are zero if the accounting bucket for the process is a global bucket.
Temporary storage accounting identifier is the identifier of the default accounting bucket charged for temporary storage allocated by the process.
The database processor time used is the total amount of processor time used performing database processing. If the system does not support this metric, a value of hex 0000000000000000 is returned. If the system does support this and needs to return a value of 0, a value of hex 0000000000001000 is returned. For all other cases, the significance of bits within this field is the same as that defined for the time-of-day clock. See Standard Time Format for additional information.
The page faults field is the number of page faults incurred.
The synchronous database reads field is the number of synchronous reads into main storage done while performing database processing.
The asynchronous database reads field is the number of asynchronous reads into main storage done while performing database processing.
The synchronous database writes field is the number of synchronous writes from main storage done while performing database processing.
The asynchronous database writes field is the number of asynchronous writes from main storage done while performing database processing.
The synchronous non-database reads field is the number of synchronous reads into main storage done while performing non-database processing.
The asynchronous non-database reads field is the number of asynchronous reads into main storage done while performing non-database processing.
The synchronous non-database writes field is the number of synchronous writes from main storage done while performing non-database processing.
The asynchronous non-database writes field is the number of asynchronous writes from main storage done while performing non-database processing.
The total scaled processor time used is the total amount of scaled processor time used. The significance of bits within this field is the same as that defined for the time-of-day clock. See Standard Time Format for additional information.
If scaled processor time attribute is binary 0, the total scaled processor time used will equal the total processor time used. If scaled processor time attribute is binary 1, the partition's processors may operate at different speeds during the current IPL, and the total scaled processor time used and total processor time used unscaled may differ. The ratio between scaled and unscaled utilized times over any interval is indicative of the processor's speed, relative to nominal, while being used productively during the interval.
The scaled processor time attribute can be materialized using Materialize Machine Attribute (MATMATR) instruction option hex 0220.
Peak temporary storage is the maximum bytes of temporary storage ever charged to the process. This field is zero if the accounting bucket for the process may be shared with other processes.
Hardware instructions run is the total number of hardware instructions used by threads running in the process.
- Hex 22 = Obsolete
A materialization option value of hex 22 causes this information to be returned:
Offset Dec Hex Field Name Data Type and Length 0 0 Materialization size specification Char(8) 0 0 - Number of bytes provided for materialization
- Bin(4)
4 4 - Number of bytes available for materialization
- Bin(4)
8
8
--- End ---
This obsolete information is not supplied with materialization option hex 00.
- Hex 23 = Thread performance attributes
Thread performance attributes are materialized when the value of operand 3 is hex 23. The format and associated values of this attribute are as follows:
Offset Dec Hex Field Name Data Type and Length 8 8 Number of synchronous page reads into main storage associated with database Bin(4) 12 C Number of synchronous page reads into main storage not associated with database Bin(4) 16
10
Total number of synchronous page writes from main storage
This includes writes associated with and not associated with database.Bin(4)
20 14 Number of transitions into ineligible wait state UBin(2) 22 16 Number of transitions into an instruction wait state UBin(2) 24 18 Number of transitions into ineligible wait state from an instruction wait UBin(2) 26 1A Timestamp of materialization (local time) Char(8) 34 22 Number of asynchronous reads into main storage associated with database Bin(4) 38 26 Number of asynchronous reads into main storage not associated with database Bin(4) 42 2A Number of synchronous writes from main storage associated with database Bin(4) 46 2E Number of synchronous writes from main storage not associated with database Bin(4) 50 32 Number of asynchronous writes from main storage associated with database Bin(4) 54 36 Number of asynchronous writes from main storage not associated with database Bin(4) 58 3A Total number of writes from main storage of permanent objects Bin(4) 62 3E Reserved (binary 0) Bin(4) 66 42 Number of page faults on process access group objects Bin(4) 70 46 Number of internal effective address overflow exceptions Bin(4) 74 4A Number of internal binary overflow exceptions Bin(4) 78 4E Number of internal decimal overflow exceptions Bin(4) 82 52 Number of internal floating point overflow exceptions Bin(4) 86 56 Number of times a page fault occurred on an address that was currently part of an auxiliary storage I/O operation Bin(4) 90 5A Number of times the process explicitly waited for outstanding asynchronous I/O operations to complete Bin(4) 94 5E Number of page faults for machine index objects Bin(4) 98 62 Thread processor time used Char(8) 106 6A Thread scaled processor time used Char(8) 114 72 Reserved (binary 0) Char(6) 120 78 Hardware instructions run UBin(8) 128
80
--- End ---
Each of the UBin(2) counters has a limit of 65,535. If this limit is exceeded, the count is set to 0, and no exception is signaled.
The thread performance attributes are not supplied with materialization option hex 00.
The thread scaled processor time used is the total amount of scaled processor time used by a thread. The significance of bits within this field is the same as that defined for the time-of-day clock. See Standard Time Format for additional information.
If scaled processor time attribute is binary 0, the thread scaled processor time used will equal the thread processor time used. If scaled processor time attribute is binary 1, the partition's processors may operate at different speeds during the current IPL, and the thread scaled processor time used. and thread processor time used unscaled may differ. The ratio between scaled and unscaled utilized times over any interval is indicative of the processor's speed, relative to nominal, while being used productively during the interval.
The scaled processor time attribute can be materialized using Materialize Machine Attribute (MATMATR) instruction option hex 0220.
Hardware instructions run is the total number of hardware instructions run by the thread.
- Hex 24 = Execution status attributes
Execution status attributes are materialized when the value of operand 3 is hex 24. The format and associated values of this attribute are as follows:
Offset Dec Hex Field Name Data Type and Length 8 8 Priority Char(2) 8 8 - Process priority
- Char(1)
9 9 - Thread priority adjustment
- Char(1)
10 A Pending thread interrupts Char(2) 10 A - Time slice end
- Bit 0
10 A - Transfer lock
- Bit 1
10 A - Asynchronous lock retry
- Bit 2
10 A - Suspend process
- Bit 3
10 A - Resume process
- Bit 4
10 A - Modify resource management attribute
- Bit 5
10 A - Modify process or thread attribute
- Bit 6
10 A - Terminate machine processing
- Bit 7
10 A - Terminate process or thread
- Bit 8
10 A - Wait time-out
- Bit 9
10 A - Event schedule
- Bit 10
10 A - Thread operations between threads
- Bit 11
10 A - Cancel long running instruction
- Bit 12
10 A - Reserved (binary 0)
- Bit 13
10 A - Deliver queue space message
- Bit 14
10 A - Signal schedule
- Bit 15
12 C Thread execution status Char(2) 12 C - Suspended by Suspend Process
- Bit 0
12 C - Instruction wait
- Bit 1
12 C - In MPL
- Bit 2
12 C - Ineligible wait
- Bit 3
12 C - In kernel mode
- Bit 4
12 C - Stopped by a signal
- Bit 5
12 C - Suspended by Suspend Thread
- Bit 6
12 C - Reserved (binary 0)
- Bits 7-15
14 E Thread wait status Char(2) 14 E - Wait on event
- Bit 0
14 E - Dequeue
- Bit 1
14 E - Lock
- Bit 2
14 E - Wait on time
- Bit 3
14 E - Wait to start a commit cycle
- Bit 4
14 E - Wait on mutex (includes both mutex types)
- Bit 5
14 E - Wait on select function
- Bit 6
14 E - Wait on signal
- Bit 7
14 E - Wait on unowned resource
- Bit 8
14 E - Wait on thread
- Bit 9
14 E - Wait on transaction control structure
- Bit 10
14 E - Wait on condition
- Bit 11
14 E - Wait on semaphore
- Bit 12
14 E - Wait on Java
- Bit 13
14 E - Reserved (binary 0)
- Bits 14-15
16 10 Process class identification Char(2) 16 10 - Main storage pool ID
- Char(1)
17 11 - Multi-programming level class ID
- Char(1)
18 12 Process processor time used Char(8) 26 1A Thread performance attributes Char(82) 26 1A - Number of synchronous reads into main storage associated with database
- Bin(4)
30 1E - Number of synchronous reads into main storage not associated with database
- Bin(4)
34
22
Total number of synchronous page writes from main storage
This includes writes associated with and not associated with database.
Bin(4)
38 26 - Transitions to ineligible wait
- UBin(2)
40 28 - Transitions to instruction wait
- UBin(2)
42 2A - Transitions to ineligible from instruction wait
- UBin(2)
44 2C - Number of asynchronous reads into main storage associated with database
- Bin(4)
48 30 - Number of asynchronous reads into main storage not associated with database
- Bin(4)
52 34 - Number of synchronous writes from main storage associated with database
- Bin(4)
56 38 - Number of synchronous writes from main storage not associated with database
- Bin(4)
60 3C - Number of asynchronous writes from main storage associated with database
- Bin(4)
64 40 - Number of asynchronous writes from main storage not associated with database
- Bin(4)
68 44 - Total number of writes from main storage of permanent objects
- Bin(4)
72 48 - Reserved (binary 0)
- Bin(4)
76 4C - Number of page faults on process access group objects
- Bin(4)
80 50 - Number of internal effective address overflow exceptions
- Bin(4)
84 54 - Number of internal binary overflow exceptions
- Bin(4)
88 58 - Number of internal decimal overflow exceptions
- Bin(4)
92 5C - Number of internal floating point overflow exceptions
- Bin(4)
96 60 - Number of times a page fault occurred on an address that was currently part of an auxiliary storage I/O operation
- Bin(4)
100 64 - Number of times the process explicitly waited for outstanding asynchronous I/O operations to complete
- Bin(4)
104 68 - Number of page faults for machine index objects
- Bin(4)
108 6C Active threads UBin(4) 112 70 Process scaled processor time used Char(8) 120 78 Reserved (binary 0) Char(8) 128 80 Temporary storage UBin(8) 136 88 Peak temporary storage UBin(8) 144 90 Hardware instructions run UBin(8) 152
98
--- End ---
The wait on unowned resource thread wait status field indicates that the materialized thread is waiting on one of several general purpose resources used internally by the system.
The active threads field contains a count of the current number of active threads in the process at the time of the materialization. An active thread may be either actively running, suspended or waiting on a resource.
The process scaled processor time used is the total amount of scaled processor time used. The significance of bits within this field is the same as that defined for the time-of-day clock. See Standard Time Format for additional information.
If scaled processor time attribute is binary 0, the process scaled processor time used will equal the process processor time used. If scaled processor time attribute is binary 1, the partition's processors may operate at different speeds during the current IPL, and the process scaled processor time used and process processor time used unscaled may differ. The ratio between scaled and unscaled utilized times over any interval is indicative of the processor's speed, relative to nominal, while being used productively during the interval.
The scaled processor time attribute can be materialized using Materialize Machine Attribute (MATMATR) instruction option hex 0220.
Temporary storage and peak temporary storage are the current and maximum bytes of temporary storage charged to the process. Both fields are zero if the accounting bucket for the process is a global bucket.
Hardware instructions run is the total number of hardware instructions used by threads running in the process.
- Hex 25 = Process control space pointer
Offset Dec Hex Field Name Data Type and Length 16 10 Process control space pointer System pointer 32
20
--- End ---
A system pointer to the process control space is materialized when the value of operand 3 is hex 25. If a process control space pointer is supplied in operand 2, it is ignored. A pointer to the process that is executing the MATPRATR instruction is always materialized.
- Hex 26 = Group profile list
A materialization option value of hex 26 causes the group profile list to be materialized as follows:
Offset Dec Hex Field Name Data Type and Length 16 10 Pointer to the group profile list (original, provided by MI user) Space pointer 32 20 Number of user profiles in the encapsulated group profile list Bin(2) 34 22 Reserved (binary 0) Char(14) 48 30 List of user profiles in the encapsulated group profile list (one system pointer to each user profile in the list) [*] System pointer *
*
--- End ---
The pointer to the group profile list is the space pointer provided by the MI user. No verification of this pointer or the contents of the group profile list pointed to by this space pointer is done.
The group profile list is not supplied with materialization option hex 00.
- Hex 27 = Group profile list option
A materialization option's value of hex 27 causes the process control attributes to be materialized. The format of the process control attributes materialization is defined in prior text for this instruction.
- Hex 28 = Process category
Offset Dec Hex Field Name Data Type and Length 8 8 Process category Char(2) 10
A
--- End ---
- Hex 29 = Queue space object pointer
Offset Dec Hex Field Name Data Type and Length 16 10 Queue space object pointer System pointer 32
20
--- End ---
The system pointer with addressability to the queue space is placed in the space addressed by operand 1.
- Hex 2A = Secondary process communications object (PPCO) pointer
Offset Dec Hex Field Name Data Type and Length 16 10 PPCO pointer Space pointer 32
20
--- End ---
The PPCO space pointer is placed in the space addressed by operand 1. If this option is specified by a user state program, an object domain or hardware storage protection violation (hex 4401) exception will be signaled.
The layout of the PPCO space is described in the Return PPCO Pointer (PPCOPTR) instruction.
- Hex 2B = Signal enablement option
A materialization option's value of hex 2B causes the process control attributes to be materialized. The format of the process control attributes materialization is defined in prior text for this instruction.
- Hex 2C = Process signal controls
Process signal controls are materialized when the value of operand 3 is hex 2C. The format and associated values of this attribute are as follows:
Offset Dec Hex Field Name Data Type and Length 8 8 Pending signals mask Char(8) 8 8 - Reserved (binary 0)
- Bit 0
8
8
Pending signal status
- 0 =
- No signal is present
- 1 =
- A signal has been received, the signal action is blocked
Bits 1-63
16 10 Signal blocking mask Char(8) 16 10 - Reserved (binary 0)
- Bit 0
16
10
Blocked/unblocked option
- 0 =
- Signal is unblocked. Signal action for the signal monitor is eligible to be scheduled.
- 1 =
- Signal is blocked. Signal action for the signal monitor is to be deferred.
Bits 1-63
24 18 Number of signal monitors Bin(4) 28 1C Reserved (binary 0) Char(4) 32
20
Signal monitor data
(repeated for each signal monitor)[*] Char(16)
32 20 - Signal number
- Bin(4)
36
24
Signal action
- -1 =
- Signal associated with this signal monitor is not supported
- 0 =
- Handle using signal default action
- 1 =
- Ignore the signal (discard)
- 2 =
- Handle the signal by executing signal catching function
Bin(2)
38
26
Signal default action
- 0 =
- Terminate the process
- 1 =
- Terminate the request
- 2 =
- Ignore the signal (discard)
- 3 =
- Stop the process
- 4 =
- Continue the process if stopped
- 5 =
- Signal exception
Bin(2)
40 28 - Maximum number of signals to be retained
- Bin(2)
42 2A - Current number of pending signals
- Bin(2)
44 2C - Signal priority (1-255; 1 = highest priority)
- Bin(2)
46 2E - Reserved (binary 0)
- Char(2)
*
*
--- End ---
The pending signals mask is used to determine if signals have been received for signal monitors whose signal handling actions have been blocked from delivery. The pending signal status specified for the nth bit position in pending signals mask is applied to the nth signal monitor defined for the process. If pending signal status is binary 1, a signal for the corresponding signal monitor has been received by the process and the signal action for the monitor is blocked from delivery in all threads within the process. If pending signal status is binary 0, there are no pending signals at the process level for the corresponding signal monitor.
The signal blocking mask field is used to determine if the signal action for the associated signal monitor is eligible to be scheduled. The blocked/unblocked option specified for the nth bit position in the signal blocking mask is applied to the nth signal monitor in the signal monitors attributes. When the signal is unblocked, the signal action for the signal monitor associated with the signal is eligible to be scheduled. When the signal is blocked, the signal will be retained, up to the limit set by the maximum number of signals to be retained value in the signal monitor associated with the signal. The signal blocking mask is a thread resource, the value materialized is obtained from the thread being materialized.
The number of signal monitors indicates the actual number of signal monitor data entries returned in the materialization template. Partial signal monitor data entries are not returned. The machine supports a maximum of 63 signal monitors. The number of signal monitors is a process resource, the value materialized is obtained from the process being materialized.
The signal monitor data defines the attributes for each signal supported. The order in which the signal monitors are defined will determine the signal monitor used by the machine for the generation and delivery of a signal. The signal monitor data is a process resource, the values materialized are obtained from the process being materialized.
The signal number is defined by the MI user and has no significance to the machine.
The signal action defines the action to be taken by the machine upon receipt of the signal by the process. If the value of signal action is signal associated with this signal monitor is not supported, the signal default action and maximum number of signals to be retained fields for this signal monitor are ignored by the machine and will be set to binary 0.
The signal default action field defines the action to be taken by the machine when the signal action is set to handle using signal default action. The terminate the process action will place the process in termination phase, allowing invocation exits to be invoked. If the process is already in termination phase, the terminate the process action is ignored. The terminate the request action will result in the cancellation of all invocations up to the nearest invocation that has an invocation status of request processor. If an invocation with an invocation status of request processor is not present, the terminate the process action is taken. The stop the process action will result in the execution of the process being temporarily suspended until a signal is generated for the process that has continue the process if stopped as its signal default action. When a process is in the stopped state, the normal process control functions remain in effect (the process may be suspended, resumed or terminated). The signal exception action will result in the asynchronous signal received (hex 4C03) exception being signaled by the machine, with the signal monitor number and signal-specific data being included in the exception-related data.
The maximum number of signals to be retained field indicates the number of signals that the machine retains when the signal action associated with the signal monitor can not be taken (held pending). The maximum number of signals to be retained limits the number of signals held pending for the signal monitor for the process and for each thread.
The current number of pending signals is the number of signals held pending at the process level for this signal monitor whose signal handling action has not been scheduled.
The signal priority specifies the relative importance of this signal compared with other signals being monitored within a process. The signal priority establishes the order in which signal handling actions are scheduled if multiple signal monitors have been signaled. Signal handling actions will be taken in the order the signal monitors were signaled when multiple signal monitors have the same priority.
- Hex 2D = Lock statistics
Offset Dec Hex Field Name Data Type and Length 8 8 Number of database lock waits Bin(4) 12 C Number of non-database lock waits Bin(4) 16
10
Number of internal machine lock waits
Bin(4)
20 14 Time spent on database lock waits Char(8) 28 1C Time spent on non-database lock waits Char(8) 36
24
Time spent on internal machine lock waits
Char(8)
44
2C
--- End ---
The three lock counters, number of database lock waits, number of non-database lock waits, and number of internal machine lock waits, are the number of times that the thread has had to wait to obtain a lock of the specified type.
The three time fields, time spent on database lock waits, time spent on non-database lock waits, and time spent on internal machine lock waits, are the cumulative amount of time that the thread had to wait for the locks of the specified type. The time is of the same format as the time of day clock. See Standard Time Format for additional information on the format of the time of day clock.
- Hex 2E = Threads enablement option
A materialization option's value of hex 2E causes the process control attributes to be materialized. The format of the process control attributes materialization is defined in prior text for this instruction.
- Hex 2F = Secondary threads control option
A materialization option's value of hex 2F causes the process control attributes to be materialized. The format of the process control attributes materialization is defined in prior text for this instruction.
- Hex 30 = Initial thread information
The thread identifier and thread handle for the initial thread of the identified process are materialized when the value of operand 3 is hex 30. The format and associated values of this attribute are as follows:
Offset Dec Hex Field Name Data Type and Length 8 8 Active threads UBin(4) 12 C Reserved (binary 0) Char(4) 16 10 Thread identifier Char(8) 24 18 Thread handle UBin(4) 28 1C Thread attributes Char(1) 28
1C
Thread type
- 0 =
- User thread
Bit 0
28 1C - Reserved (binary 0)
- Bits 1-7
29 1D Reserved (binary 0) Char(3) 32 20 Resources affinity identifier UBin(4) 36 24 Reserved (binary 0) Char(12) 48
30
--- End ---
The active threads field contains a count of the current number of active threads in the process at the time of the materialization. An active thread may be either actively running, suspended or waiting on a resource. Subsequent materializations may result in a different active threads value.
The thread identifier is an identifier for the initial thread which is unique within the process being materialized. While no two threads initiated within the same process will have the same identifier, it is possible that threads in different processes may have the same value for the identifier.
The thread handle is an identifier for the initial thread which is unique within the process being materialized. The thread handle returned is an unopened handle and may be used on other thread management instructions to uniquely identify a thread within the process being materialized. Thread handles are not unique system wide. Thus, threads from different processes may have the same value for their thread handle.
The thread type field determines how the thread was initiated. The initial thread of a process is always a user thread.
The resources affinity identifier is the initial thread's value for resources affinity identifier.
- Hex 39 = Process CCSID
Offset Dec Hex Field Name Data Type and Length 8 8 Process CCSID UBin(2) 10
A
--- End ---
Process CCSID is the default value used by the machine when a CCSID is needed for sending audit journal entries with path names.
- Hex 3A = Process country identifier
Offset Dec Hex Field Name Data Type and Length 8 8 Process country identifier Char(2) 10
A
--- End ---
Process country identifier is the default value used by the machine when a country identifier is needed for sending audit journal entries with path names.
- Hex 3B = Process language identifier
Offset Dec Hex Field Name Data Type and Length 8 8 Process language identifier Char(3) 11
B
--- End ---
Process language identifier is the default value used by the machine when a language identifier is needed for sending audit journal entries with path names.
Authorization Required
- Process control special authorization
- For materializing a process other than the one containing the thread issuing this instruction
- Execute
- Contexts referenced for address resolution
Lock Enforcement
- Materialize
- Contexts referenced for address resolution
Exceptions
- 06 Addressing
- 0601 Space Addressing Violation
- 0602 Boundary Alignment
- 0603 Range
- 08 Argument/Parameter
- 0801 Parameter Reference Violation
- 0A Authorization
- 0A01 Unauthorized for Operation
- 0A04 Special Authorization Required
- 10 Damage Encountered
- 1004 System Object Damage State
- 1005 Authority Verification Terminated Due to Damaged Object
- 1044 Partial System Object Damage
- 1A Lock State
- 1A01 Invalid Lock State
- 1C Machine-Dependent
- 1C03 Machine Storage Limit Exceeded
- 20 Machine Support
- 2002 Machine Check
- 2003 Function Check
- 22 Object Access
- 2201 Object Not Found
- 2202 Object Destroyed
- 2203 Object Suspended
- 2207 Authority Verification Terminated Due to Destroyed Object
- 2208 Object Compressed
- 220B Object Not Available
- 24 Pointer Specification
- 2401 Pointer Does Not Exist
- 2402 Pointer Type Invalid
- 2403 Pointer Addressing Invalid Object Type
- 28 Process/Thread State
- 2802 Process Control Space Not Associated with a Process
- 2E Resource Control Limit
- 2E01 User Profile Storage Limit Exceeded
- 32 Scalar Specification
- 3203 Scalar Value Invalid
- 36 Space Management
- 3601 Space Extension/Truncation
- 38 Template Specification
- 3803 Materialization Length Invalid
- 44 Protection Violation
- 4401 Object Domain or Hardware Storage Protection Violation
- 4402 Literal Values Cannot Be Changed