US 11,941,429 B2
Persistent multi-word compare-and-swap
Virendra J. Marathe, Florence, MA (US); Matej Pavlovic, Lausanne (CH); Alex Kogan, Needham, MA (US); and Timothy L. Harris, Cambridge (GB)
Assigned to Oracle International Corporation, Redwood City, CA (US)
Filed by Oracle International Corporation, Redwood City, CA (US)
Filed on Apr. 7, 2022, as Appl. No. 17/715,812.
Application 17/715,812 is a continuation of application No. 16/894,626, filed on Jun. 5, 2020, granted, now 11,321,117.
Application 16/894,626 is a continuation of application No. 16/275,175, filed on Feb. 13, 2019, granted, now 10,678,587, issued on Jun. 9, 2020.
Claims priority of provisional application 62/710,420, filed on Feb. 16, 2018.
Prior Publication US 2022/0229691 A1, Jul. 21, 2022
Int. Cl. G06F 12/00 (2006.01); G06F 9/30 (2018.01); G06F 9/38 (2018.01); G06F 9/46 (2006.01); G06F 9/52 (2006.01); G06F 11/14 (2006.01); G06F 12/02 (2006.01); G06F 12/0804 (2016.01); G06F 12/0815 (2016.01)
CPC G06F 9/467 (2013.01) [G06F 9/30021 (2013.01); G06F 9/3004 (2013.01); G06F 9/3834 (2013.01); G06F 9/522 (2013.01); G06F 11/1446 (2013.01); G06F 11/1448 (2013.01); G06F 11/1458 (2013.01); G06F 11/1471 (2013.01); G06F 12/0238 (2013.01); G06F 12/0804 (2013.01); G06F 12/0815 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
performing a non-blocking read of a memory address, comprising:
reading a value from the memory address to determine that the memory address is currently controlled as part of an atomic compare and swap operation on a plurality of data elements, and responsive to determining that the memory address is currently controlled:
identifying an atomic update structure that controls the memory address;
reading another value for the memory address from the identified atomic update structure; and
returning the other value.