主权项 |
1. A computer implemented method for executing a modifying run-time-instrumentation controls (MRIC) instruction from either a supervisor state or a lesser-privileged state, the MRIC instruction for setting only a subset of run-time-instrumentation controls, wherein all of said run-time-instrumentation controls are loadable by a privileged load run-time-instrumentation controls (LRIC) instruction, the method comprising:
fetching the MRIC instruction, the MRIC instruction including an address of a run-time-instrumentation control block (RICCB); fetching, by a processor, the RICCB, the RICCB including a plurality of values for modifying said subset of run-time-instrumentation controls of the processor, the plurality of values of the RICCB comprising:
a runtime instrumentation program buffer current address (RCA) of a runtime instrumentation program buffer (RIB) location, the RIB for holding runtime instrumentation information of events recognized by the processor during program execution; andone or more of:
a control to manage details of run-time-instrumentation data sampling;a control to manage details of run-time-instrumentation data collection;a control to manage details of run-time-instrumentation data reporting into a program buffer;a control to manage detection of instruction-cache misses;a control to manage detection of data-cache misses;a control to manage a size of a reporting group;a control to manage a current address within an output program buffer at which a next reporting group is stored;controls to manage data collection of data on call-type, return-type, and transfer-type branches; andcontrols to manage data collection of branches that are correctly or incorrectly predicted as taken or not taken; loading the plurality of values into the run-time-instrumentation controls; and using the loaded plurality of values to provide run-time-instrumentation event information to the RIB. |