Idle transitions sampling with execution context
First Claim
1. A computer program product comprising a computer readable storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
- set a processor affinity of a next dispatched monitored thread to a first value, wherein the next dispatched monitored thread executes on a current processor without being able to migrate to a different processor while a next dispatched monitored thread call stack is being retrieved;
retrieve the next dispatched monitored thread call stack; and
restore the processor affinity of the next dispatched monitored thread to a second value after the next dispatched monitored thread call stack has been retrieved, wherein the next dispatched monitored thread migrates to a different processor to continue execution; and
record the next dispatched monitored thread call stack for a subsequently dispatched monitored thread.
1 Assignment
0 Petitions
Accused Products
Abstract
A process generates a sample based on an event. The process identifies, with a dispatch monitor, a next dispatched monitored thread that is dispatched by a current processor. The process sets a processor affinity of the next dispatched monitored thread such that the next dispatched monitored thread runs only on the current processor without being able to migrate to a different processor. The process also retrieves, with a sampled thread that runs on the current processor, a next dispatched monitored thread call stack after the processor affinity of the next dispatched monitored thread has been set to the processor. The process restores the processor affinity of the next dispatched monitored thread after the next dispatched monitored thread call stack has been obtained.
-
Citations
25 Claims
-
1. A computer program product comprising a computer readable storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
-
set a processor affinity of a next dispatched monitored thread to a first value, wherein the next dispatched monitored thread executes on a current processor without being able to migrate to a different processor while a next dispatched monitored thread call stack is being retrieved; retrieve the next dispatched monitored thread call stack; and restore the processor affinity of the next dispatched monitored thread to a second value after the next dispatched monitored thread call stack has been retrieved, wherein the next dispatched monitored thread migrates to a different processor to continue execution; and record the next dispatched monitored thread call stack for a subsequently dispatched monitored thread. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
setting a processor affinity of a next dispatched monitored thread to a first value, wherein the next dispatched monitored thread executes on a current processor without being able to migrate to a different processor while a next dispatched monitored thread call stack is being retrieved; retrieving the next dispatched monitored thread call stack; and restoring the processor affinity of the next dispatched monitored thread to a second value after the next dispatched monitored thread call stack has been retrieved, wherein the next dispatched monitored thread migrates to a different processor to continue execution; and record the next dispatched monitored thread call stack for a subsequently dispatched monitored thread. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
processors; and storage coupled to the processors, wherein the storage has stored thereon program code, and wherein at least one of the processors is configured to execute the program code to perform operations, wherein the operations comprise; setting a processor affinity of a next dispatched monitored thread to a first value, wherein the next dispatched monitored thread executes on a current processor without being able to migrate to a different processor while a next dispatched monitored thread call stack is being retrieved; retrieving the next dispatched monitored thread call stack; and restoring the processor affinity of the next dispatched monitored thread to a second value after the next dispatched monitored thread call stack has been retrieved, wherein the next dispatched monitored thread migrates to a different processor to continue execution; and record the next dispatched monitored thread call stack for a subsequently dispatched monitored thread. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A computer program product comprising a computer readable storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
-
set a processor affinity of a last dispatched monitored thread to a first value, wherein the last dispatched monitored thread executes on a current processor without being able to migrate to a different processor while a last dispatched monitored thread call stack is being retrieved; retrieve the last dispatched monitored thread call stack; and restore the processor affinity of the next dispatched monitored thread to a second value after the next dispatched monitored thread call stack has been retrieved, wherein the next dispatched monitored thread migrates to a different processor to continue execution; and record the next dispatched monitored thread call stack for a subsequently dispatched monitored thread. - View Dependent Claims (23, 24, 25)
-
Specification