Automatic yielding on lock contention for a multi-threaded processor
First Claim
1. A method for mitigating overhead on a multi-threaded processor, comprising:
- remembering a cache state of a memory location on a processor when loading a lock value; and
adjusting allocation of processor resources to a lock holding thread on said processor responsive to said remembered cache state having a value selected from a group consisting of;
modified and shared.
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 resources available in the cache, tests are conducted to determine if there is a lock on the resource as well as a state of the cache associated with the resource. If it is determined that the lock is in use by another thread, the lock requesting thread may spin on the lock. In limited circumstances a high priority may be assigned to the lock holding thread and a low priority may be assigned to the thread spinning on the lock. Processor resources are proportionally 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.
37 Citations
15 Claims
-
1. A method for mitigating overhead on a multi-threaded processor, comprising:
-
remembering a cache state of a memory location on a processor when loading a lock value; and
adjusting allocation of processor resources to a lock holding thread on said processor responsive to said remembered cache state having a value selected from a group consisting of;
modified and shared. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system comprising:
a multi-threaded processor;
a manager adapted to remember a cache state of a memory location on said processor associated with a lock value; and
said processor adapted to adjust allocation of resources to a lock holding thread with said cache state having a value selected from a group consisting of;
modified and shared.- View Dependent Claims (7, 8, 9, 10)
-
11. An article comprising:
-
a computer readable medium;
instructions in said medium for loading a lock value;
instructions in said medium for remembering a cache state of a memory location on a processor when loading said lock value; and
instructions in said medium for adjusting allocation of processor resources to a lock holding thread on said processor responsive to said remembered cache state having a value selected from a group consisting of;
modified and shared. - View Dependent Claims (12, 13, 14, 15)
-
Specification