CPC G06F 12/0837 (2013.01) [G06F 2212/1032 (2013.01)] | 20 Claims |
1. A system comprising:
a memory; and
a processing device, operatively coupled with the memory, to perform operations comprising:
determining that a first thread is blocked from accessing data of a plurality of memory locations that are locked;
updating a data structure to indicate that the plurality of memory locations are contentious, wherein the plurality of memory locations remain contentious after being unlocked;
processing, for a second thread, a first memory operation from a queue comprising the first memory operation, a plurality of intervening operations, and a second memory operation, wherein the first memory operation and the second memory operation operate on data of a memory location;
determining, based on the data structure, that the memory location is a contentious memory location; and
processing, for the second thread, the second memory operation before at least one of the intervening operations, wherein the at least one intervening operation was between the first memory operation and the second memory operation in the queue.
|