Systems and methods of sharing processing resources in a multi-threading environment
First Claim
Patent Images
1. A method of sharing processing resources in a multi-threading environment, comprising:
- allocating a memory address of a lock value for a resource lock, the lock value corresponding to a state of the resource lock;
retrieving the lock value from the memory address;
yielding by a first thread at least a portion of the processing resources for another thread if the lock value indicates the resource lock is unavailable;
checking the lock value at the memory address in response to a switching event; and
acquiring the resource lock for the first thread if the lock value indicates the resource lock is available.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of sharing processing resources in a multi-threading environment are disclosed. An exemplary method may include allocating a lock value for a resource lock, the lock value corresponding to a state of the resource lock. A first thread may yield at least a portion of the processing resources for another thread. The resource lock may be acquired for the first thread if the lock value indicates the resource lock is available.
-
Citations
21 Claims
-
1. A method of sharing processing resources in a multi-threading environment, comprising:
-
allocating a memory address of a lock value for a resource lock, the lock value corresponding to a state of the resource lock;
retrieving the lock value from the memory address;
yielding by a first thread at least a portion of the processing resources for another thread if the lock value indicates the resource lock is unavailable;
checking the lock value at the memory address in response to a switching event; and
acquiring the resource lock for the first thread if the lock value indicates the resource lock is available. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a multi-threading processing unit;
a first logical processor executing a thread on the multi-threading processing unit, the first logical processor allocating a state indicator in memory if a shared resource is locked before yielding at least a portion of processing resources for executing another thread; and
a second logical processor returning at least a portion of the processing resources to the first logical processor in response to a switching event if the state indicator indicates the shared resource is available. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for sharing processing resources in a multi-threading environment, comprising:
-
indicator means for indicating a shared resource is locked before a first thread yields at least a portion of the processing resources to a second thread in the multi-threading environment;
means for invalidating the indicator means if the shared resource is released; and
means for returning at least a portion of the processing resources to the first thread if the indicator means is invalidated. - View Dependent Claims (20, 21)
-
Specification