Patent ID: 8010948

Claim:
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 instructions that, when executed by at least one of the processors, cause the information handling system to perform steps comprising: 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; detecting that the software lock is unavailable; executing an operating system trace hook in response to the detecting, wherein the operating system trace hook records lock usage data, wherein the lock usage data includes a timestamp corresponding to each request, a lock address corresponding to an address of the software lock, a stack call chain for each process making one of the requests at the time the corresponding request was made, and a request count; and analyzing the recorded lock usage data to identify contended locks and processes that may not be efficiently using software locks.