System and method for measuring latch contention
First Claim
1. A computer implemented method comprising:
- receiving requests for a shared resource, wherein access to the shared resource is controlled with a software lock;
detecting that the software lock is unavailable;
emitting an operating system trace hook in response to the detecting, wherein the operating system trace hook is adapted to record lock usage data; and
analyzing the recorded lock usage data.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method is provided for measuring lock usage in a non-intrusive manner. Measurements are performed only when a lock is contended. When a lock is requested and the lock is available (i.e., is not contended), the only data gathered is a counter that is incremented to keep track of the number of times the particular lock was requested. When a lock is contended, an operating system trace hook is requested. The trace hook records data such as the timestamp that the requestor requested the lock, the request count, a stack traceback to identify the function corresponding to the requestor, and the address of the lock that was requested. Post-operative processing analyzes the recorded trace hook data to identify contended locks and processes that may not be efficiently using locks.
12 Citations
20 Claims
-
1. A computer implemented method comprising:
-
receiving requests for a shared resource, wherein access to the shared resource is controlled with a software lock;
detecting that the software lock is unavailable;
emitting an operating system trace hook in response to the detecting, wherein the operating system trace hook is adapted to record lock usage data; and
analyzing the recorded lock usage data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 20)
-
-
8. An information handling system comprising:
-
one or more processors;
a memory accessible by the processors;
one or more shared resources accessible by the processors;
a nonvolatile storage device accessible by the processors;
one or more software locks, stored in the memory, for controlling access to the shared resources;
an operating system that controls a plurality of processes performed by the processors, the operating system including a trace hook facility; and
a software lock measurement tool for measuring lock contention, the software lock measurement tool including;
means for receiving requests from one or more of the processes for one of the shared resources, wherein access to the shared resource is controlled with one of the software locks;
means for detecting that the software lock is unavailable;
means for emitting an operating system trace hook in response to the detecting, wherein the operating system trace hook is adapted to record lock usage data; and
means for analyzing the recorded lock usage data. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product stored on a computer operable media for measuring lock contention, said computer program product comprising:
-
means for receiving requests for a shared resource, wherein access to the shared resource is controlled with a software lock;
means for detecting that the software lock is unavailable;
means for emitting an operating system trace hook in response to the detecting, wherein the operating system trace hook is adapted to record lock usage data; and
means for analyzing the recorded lock usage data. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification