×

Method, apparatus, and computer program product for dynamically tuning a data processing system by identifying and boosting holders of contentious locks

  • US 7,458,076 B2
  • Filed: 08/05/2004
  • Issued: 11/25/2008
  • Est. Priority Date: 08/05/2004
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method in a simultaneous multithreading data processing system for modifying the processing of multiple software threads that acquire a software lock, said method comprising:

  • concurrently executing multiple software threads on a processor included in said data processing system;

    assigning a hardware priority to each one of said multiple software threads;

    identifying the software lock as a contentious lock by a first locking function;

    boosting, by the first locking function, a hardware priority of each of said multiple software threads that successfully acquires said contentious lock;

    identifying a command that was executed by one of the multiple software threads to branch to a second locking function;

    tracking, by said second locking function, a number of times said one of the multiple software threads successfully acquires a lock on said first attempt to acquire said lock;

    comparing, by said second locking function, said number of times to a non-contention threshold;

    in response to said number of times exceeding said non-contention threshold, identifying said lock as a non-contentious lock;

    in response to identifying said lock as the non-contentious lock, storing an address of said first locking function in said command; and

    in response to a next execution of said command, branching to said first locking function instead of branching to said second locking function and continue executing the multiple software threads.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×