Adaptive lock for a computing system having multiple runtime environments and multiple processing units
US9424103B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Sep 30, 2014 |
| Grant date | Aug 23, 2016 |
| Priority date | — |
| Expiry date | Jan 1, 2035 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F2209/522
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A method for operating a lock in a computing system having plural processing units and running under multiple runtime environments is provided. When a requester thread attempts to acquire the lock while the lock is held by a holder thread, determine whether the holder thread is suspendable or non-suspendable. If the holder thread is non-suspendable, put the requester thread in a spin state regardless of whether the requester thread is suspendable or non-suspendable; otherwise determines whether the requester thread is suspendable or non-suspendable unless the requester thread quits acquiring the lock. If the requester thread is non-suspendable, arrange the requester thread to attempt acquiring the lock again; otherwise add the requester thread to a wait queue as an additional suspended thread. Suspended threads stored in the wait queue are allowable to be resumed later for lock acquisition. The method is applicable for the computing system with a multicore processor.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.