×

Adaptive queued locking for control of speculative execution

  • US 9,715,416 B2
  • Filed: 06/03/2015
  • Issued: 07/25/2017
  • Est. Priority Date: 06/03/2015
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus, comprising:

  • a lock to;

    enforce a first quota to control a number of threads allowed to concurrently speculatively execute a critical section of code after being placed in a queue;

    enable a first thread corresponding to a head node of the queue to speculatively execute the critical section to increase a number of threads that are concurrently speculatively executing the critical section;

    in response to a determination that a number of threads concurrently speculatively executing the critical section does not satisfy the first quota, dequeue the first thread to cause a second thread in the queue to correspond to the head node of the queue;

    in response to a determination that the number of threads concurrently speculatively executing the critical section satisfies the first quota, maintain the first thread at the head node of the queue, the maintaining of the first thread at the head node to prevent a second thread corresponding to a second node of the queue from retrying speculative execution of the critical section; and

    an adjuster to change a first value of the first quota based on a result of the speculative execution of the critical section by the first thread, wherein at least one of the lock or the adjuster is implemented via a logic circuit.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×