US 12,260,267 B2
Compact NUMA-aware locks
Alex Kogan, Needham, MA (US); and David Dice, Foxboro, MA (US)
Assigned to Oracle International Corporation, Redwood City, CA (US)
Filed by Oracle International Corporation, Redwood City, CA (US)
Filed on Nov. 4, 2022, as Appl. No. 18/052,890.
Application 18/052,890 is a continuation of application No. 17/200,610, filed on Mar. 12, 2021, granted, now 11,494,242.
Application 17/200,610 is a continuation of application No. 16/573,863, filed on Sep. 17, 2019, granted, now 10,949,264, issued on Mar. 16, 2021.
Claims priority of provisional application 62/734,852, filed on Sep. 21, 2018.
Prior Publication US 2023/0161641 A1, May 25, 2023
Int. Cl. G06F 9/46 (2006.01); G06F 9/52 (2006.01)
CPC G06F 9/52 (2013.01) [G06F 2209/521 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of transferring control of a lock, comprising:
performing by a first controlling thread:
adding, by a first thread, a wait structure to a primary queue to wait for allocation of a lock, the wait structure comprising a wait field initialized to a zero value; and
writing, by a second thread, a non-zero value to the wait field of the wait structure to transfer control of the lock to the first thread, the non-zero value comprising an address of a secondary queue comprising one or more other threads waiting for the lock.