Automatic yielding on lock contention for multi-threaded processors
First Claim
1. A method for mitigating overhead on a multi-threaded processor, comprising:
- determining presence of a lock address in a lock table for a shared resource;
adjusting allocation of processor resources to a thread holding said lock responsive to presence of said lock address in said lock table.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system are provided for managing processor resources in a multi-threaded processor. When attempting to acquire a lock on a shared resource, an initial test is conducted to determine if there is a lock address for the shared resource in a lock table. If it is determined that the address is in the lock table, the lock is in use by another thread. Processor resources associated with the lock requesting thread are mitigated so that processor resources may focus on the lock holding thread prior to the requesting thread spinning on the lock. Processor resources are assigned to the threads based upon the assigned priorities, thereby allowing the processor to allocate more resources to a thread assigned a high priority and fewer resources to a thread assigned a low priority.
-
Citations
20 Claims
-
1. A method for mitigating overhead on a multi-threaded processor, comprising:
-
determining presence of a lock address in a lock table for a shared resource;
adjusting allocation of processor resources to a thread holding said lock responsive to presence of said lock address in said lock table. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system comprising:
-
a multi-threaded processor;
a lock table adapted to store a lock address for a shared resource held by a thread; and
a manager adapted to communicate with said processor to adjust allocation of processor resources from a lock requesting thread to a thread in possession of said lock in response to presence of said lock address in said lock table. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. An article comprising:
-
a computer readable medium;
instructions in said medium for a thread to request a lock on a shared resource from a multi-threaded processor;
instructions in said medium for evaluating a lock table to determine presence of a lock address responsive to said instruction requesting said lock; and
instructions in said medium for a processor managing said resource to adjust allocation of processor resources to a lock holding thread responsive to presence of said lock address in said lock table. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification