A method, an apparatus, and a computer program product in a data processing system are presented for using hardware assistance for gathering performance information that significantly reduces the overhead in gathering such information. Performance indicators are associated with instructions or memory locations, and processing of the performance indicators enables counting of events associated with execution of those instructions or events associated with accesses to those memory locations. The performance information that has been dynamically gathered from the assisting hardware is available to the software application during runtime in order to autonomically affect the behavior of the software application, particularly to enhance its performance. For example, the counted events may be used to autonomically collecting statistical information about the ability of a software application to successfully acquire a semaphore.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method in a data processing system for executing instructions, the method comprising: associating performance indicators with instructions related to acquiring a semaphore, wherein the performance indicators are data values in memory that specify counting of events that are associated with execution of the instructions or are data values in memory that specify counting of events that are associated with accesses to memory locations; executing the instructions related to acquiring a semaphore in a processor in the data processing system; detecting the performance indicators during execution of the instructions related to acquiring a semaphore; counting the events that occur within the data processing system as specified by the detected performance indicators to form counted events; retrieving a count value that represents the counted events; and using the count value to represent a number of operations related to acquiring a semaphore.
2. The method of claim 1 further comprising: performing a computation in which the count value represents a number of attempts to acquire a semaphore, a number of successes in acquiring the semaphore, or a number of failures in acquiring the semaphore.
3. The method of claim 1 further comprising: adjusting operations on the semaphore based on the count value.
4. A computer program product on a recordable-type computer readable medium for use in a data processing system that executes instructions, the computer program product comprising: means for associating performance indicators with instructions related to acquiring a semaphore, wherein the performance indicators are data values in memory that specify counting of events that are associated with execution of the instructions or are data values in memory that specify counting of events that are associated with accesses to memory locations; means for executing the instructions related to acquiring a semaphore in a processor in the data processing system; means for detecting the performance indicators during execution of the instructions related to acquiring a semaphore; means for counting the events that occur within the data processing system as specified by the detected performance indicators to form counted events; means for retrieving a count value that represents the counted events; and means for using the count value to represent a number of operations related to acquiring a semaphore.
5. The computer program product of claim 4 further comprising: means for performing a computation in which the count value represents a number of attempts to acquire a semaphore, a number of successes in acquiring the semaphore, or a number of failures in acquiring the semaphore.
6. The computer program product of claim 4 further comprising: means for adjusting operations on the semaphore based on the count value.
7. An apparatus in a data processing system that executes instructions, the apparatus comprising: means for associating performance indicators with instructions related to acquiring a semaphore, wherein the performance indicators are data values in memory that specify counting of events that are associated with execution of the instructions or are data values in memory that specify counting of events that are associated with accesses to memory locations; means for executing the instructions related to acquiring a semaphore in a processor in the data processing system; means for detecting the performance indicators during execution of the instructions related to acquiring a semaphore; means for counting the events that occur within the data processing system as specified by the detected performance indicators to form counted events; means for retrieving a count value that represents the counted events; and means for using the count value to represent a number of operations related to acquiring a semaphore.
8. The apparatus of claim 7 further comprising: means for performing a computation in which the count value represents a number of attempts to acquire a semaphore, a number of successes in acquiring the semaphore, or a number of failures in acquiring the semaphore.
9. The apparatus of claim 7 further comprising: means for adjusting operations on the semaphore based on the count value.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 11, 2008
October 18, 2011
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.