Call stack sampling for a multi-processor system
First Claim
1. A computer implemented method for sampling call stack information, the computer implemented method comprising:
- responsive to identifying a set of interrupts, determining whether all processors in a plurality of processors have generated the set of interrupts, wherein each of the plurality of processors is a processor unit that has a counter set after generating an interrupt and a determination as to whether all processors in the plurality of processors have generated the set of interrupts is made by checking all counters in the plurality of processors to determine that all counters have been set;
responsive to a determination that all of the processors have generated the set of interrupts, receiving an identification for a set of executable code in a user input and converting the identification to a set of identified addresses for the set of executable code to form a set of address ranges;
determining whether any address within the set of identified addresses falls within the set of address ranges; and
responsive to a determination that the any address within the set of identified addresses falls within the set of address ranges, notifying a sampling thread to obtain the call stack information.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer implemented method for sampling call stack information. Responsive to identifying a set of interrupts, a determination is made as to whether all processors in a plurality of processors have generated the set of interrupts. A number of addresses are identified for a set of interrupted threads identified by the set of interrupts response to a determination that all of the processors have generated the set of interrupts. A determination is made as to whether the identified address falls within a set of address ranges. Responsive to a determination that the identified address falls within the set of address ranges, a sampler thread is notified to obtain call stack information.
-
Citations
14 Claims
-
1. A computer implemented method for sampling call stack information, the computer implemented method comprising:
-
responsive to identifying a set of interrupts, determining whether all processors in a plurality of processors have generated the set of interrupts, wherein each of the plurality of processors is a processor unit that has a counter set after generating an interrupt and a determination as to whether all processors in the plurality of processors have generated the set of interrupts is made by checking all counters in the plurality of processors to determine that all counters have been set; responsive to a determination that all of the processors have generated the set of interrupts, receiving an identification for a set of executable code in a user input and converting the identification to a set of identified addresses for the set of executable code to form a set of address ranges; determining whether any address within the set of identified addresses falls within the set of address ranges; and responsive to a determination that the any address within the set of identified addresses falls within the set of address ranges, notifying a sampling thread to obtain the call stack information. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer comprising:
-
a bus; a storage device connected to the bus, wherein program code is stored on the storage device; and a processor unit connected to the bus, wherein the processor unit executes the program code to determine whether all processors in a plurality of processors have generated a set of interrupts in response to identifying the set of interrupts, wherein the processor unit has a counter set after generating an interrupt and a determination as to whether all processors in the plurality of processors have generated the set of interrupts is made by checking all counters in the plurality of processors to determine that all counters have been set;
identify a number of addresses for a set of interrupted threads identified by the set of interrupts to form a set of identified addresses in response to a determination that all of the processors have generated the set of interrupts, receive an identification for a set of executable code in a user input and convert the identification to a set of identified addresses for the set of executable code to form a set of address ranges;
determine whether any address within the set of identified addresses falls within set of address ranges; and
notify a sampling thread to obtain the call stack information in response to a determination that any address within the set of identified addresses falls within the set of address ranges. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer program product for sampling call stack information, the computer program product comprising:
- a non-transitory computer readable storage medium;
program code, stored on the non-transitory computer readable storage medium, responsive to identifying a set of interrupts, for determining whether all processors in a plurality of processors have generated the set of interrupts, wherein each of the plurality of processors is a processor unit that has a counter set after generating an interrupt and a determination as to whether all processors in the plurality of processors have generated the set of interrupts is made by checking all counters in the plurality of processors to determine that all counters have been set;
program code, stored on the non-transitory computer readable storage medium, responsive to a determination that all of the processors have generated the set of interrupts, for receiving an identification for a set of executable code in a user input and converting the identification to a set of identified addresses for the set of executable code to form a set of address ranges;
program code, stored on the non-transitory computer readable storage medium, for determining whether any address within the set of identified addresses falls within the set of address ranges; and
program code, stored on the non-transitory computer readable storage medium, responsive to a determination that any address within the set of identified addresses falls within the set of address ranges, for notifying a sampling thread to obtain the call stack information. - View Dependent Claims (14)
- a non-transitory computer readable storage medium;
Specification