×

Managing fairness for lock and unlock operations using operation prioritization

  • US 10,331,500 B2
  • Filed: 09/07/2017
  • Issued: 06/25/2019
  • Est. Priority Date: 04/05/2017
  • Status: Active Grant
First Claim
Patent Images

1. A processor comprising:

  • a plurality of processor cores; and

    instruction management circuitry configured to manage lock and unlock operations for a first thread executing on a first processor core of the plurality of processor cores, the managing including;

    for each instruction included in the first thread and identified as being associated with a lock operation corresponding to a particular lock stored in a particular memory location, in response to determining that the particular lock has already been acquired, continuing to perform the lock operation for a plurality of attempts using associated operation messages for accessing the particular memory location, andfor each instruction included in the first thread and identified as being associated with an unlock operation corresponding to a particular lock stored in a particular memory location, releasing the particular lock from the first thread using an associated operation message for accessing the particular memory location;

    wherein operation messages associated with a lock operation or unlock operation include (1) information identifying a particular memory location to which access is being requested and (2) information identifying whether a lock operation or an unlock operation is being requested, and operation messages are sent by threads executing on the plurality of processor cores to a data structure stored in a memory system of the processor;

    wherein the processor is configured to prioritize selected operation messages associated with an unlock operation over operation messages associated with a lock operation based at least in part on at least one of (1) an order among different operation messages stored in the data structure, or (2) relative priorities associated with the operation messages stored in the data structure.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×