Monitoring events and incrementing counters associated therewith absent taking an interrupt
AssigneeInternational Business Machines Corporation
InventorsDan Greiner, James H. Mulder, Robert R. Rogers, Robert W. StJohn
Life of this patent
Estimating the term…
Abstract
A monitoring facility that is operable in two modes allowing compatibility with prior existing monitoring facilities. In one mode, in response to encountering a monitored event, an interrupt is generated. In another mode, in response to encountering a monitored event, one or more associated counters are incremented without causing an interrupt.
Claims20
A computer program product for facilitating monitoring in a computing environment, the computer program product comprising:
- a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
- executing a machine instruction to monitor an event of the computing environment, said machine instruction being operable in a first mode of operation and a second mode of operation, said executing comprising:
- specifying, by the machine instruction, the event to be monitored;
- selecting any one of the first mode of operation or the second mode of operation, wherein the first mode of operation is configured to take an interrupt and the second mode of operation is configured to increment a counter associated with the event being monitored absent taking the interrupt;
- based on selecting the second mode of operation:
- comparing a value of a monitor code and a limit of a counter array, said counter array including said counter;
- based on the comparing providing a first result, incrementing the counter of the counter array absent taking the interrupt;
- and
- based on the comparing providing a second result, incrementing an exception count.
A computer system for facilitating monitoring in a computing environment, the computer system comprising:
- a memory;
- and
- a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:
- executing a machine instruction to monitor an event of the computing environment, said machine instruction being operable in a first mode of operation and a second mode of operation, said executing comprising:
- specifying, by the machine instruction, the event to be monitored;
- and
- selecting any one of the first mode of operation or the second mode of operation, wherein the first mode of operation is configured to take an interrupt and the second mode of operation is configured to increment a counter associated with the event being monitored absent taking the interrupt;
- based on selecting the second mode of operation:
- comparing a value of a monitor code and a limit of a counter array, said counter array including said counter;
- based on the comparing providing a first result, incrementing the counter of the counter array absent taking the interrupt;
- and
- based on the comparing providing a second result, incrementing an exception count.
A computer program product for facilitating monitoring in a computing environment, the computer program product comprising:
- a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
- executing a Monitor Call instruction, the Monitor Call instruction to be placed at one or more points in a monitored program and configured to include an operation code to specify the Monitor Call instruction, an index field to specify a class to be monitored, and at least one field to be used to form a monitor code, the monitor code to be used in execution of the Monitor Call instruction, said executing comprising:
- checking a first set of monitor masks to determine whether a first selected mask of the first set of monitor masks is set to a first particular value, the first selected mask corresponding to a value of the index field;
- based on the first selected mask being set to the first particular value, checking a second set of monitor masks to determine whether a second selected mask of the second set of masks is set to a second particular value, the second selected mask corresponding to the value of the index field;
- based on the checking the first set of monitor masks indicating the first selected mask is set to the first particular value and the checking the second set of monitor masks indicating the second selected mask is set to the second particular value, performing a monitor event counting operation, the performing comprising:
- forming the monitor code using the at least one field of the Monitor Call instruction;
- comparing the monitor code formed from the at least one field of the Monitor Call instruction to a predetermined value;
- and
- based on the comparing providing a first result, updating a counter corresponding to the monitor code absent taking an interrupt.
Dependencies are inferred from the claim text.