×

Fair high-throughput locking for expedited grace periods

  • US 10,282,230 B2
  • Filed: 10/03/2016
  • Issued: 05/07/2019
  • Est. Priority Date: 10/03/2016
  • Status: Active Grant
First Claim
Patent Images

1. A method for detecting expedited read-copy update (RCU) grace periods using funnel locking with waitqueues, said method comprising:

  • determining, by an RCU updater, a future expedited RCU grace period needed to guarantee that a full expedited RCU grace period has elapsed following a current expedited RCU grace period;

    initiating, by said RCU updater, a leaf-to-root traversal of a funnel lock embodied as a hierarchical tree of nodes having a single top level root node, a plurality of bottom level leaf nodes, and zero or more intermediate level nodes;

    for each node of said funnel lock accessed during said leaf-to-root traversal, checking an indicator to determine if another RCU updater needing said future expedited RCU grace period has visited said node;

    if true, adding said RCU updater to a waitqueue of RCU updaters waiting for said future expedited RCU grace period;

    if false, setting said indicator to indicate that said RCU updater needing said future expedited RCU grace period has visited said node, and continuing to a next node of said funnel lock;

    if said RCU updater reaches said root node with no indication that any other RCU updater needing said future expedited RCU grace period has visited any of said nodes accessed by said RCU updater, then acquiring an expedited RCU grace period mutex lock that serializes expedited RCU grace period operations, starting a new expedited RCU grace period, waiting for said new expedited RCU grace period to elapse, releasing said expedited RCU grace period mutex lock, and initiating a wakeup operation that wakes up other RCU updaters waiting on waitqueues associated with said elapsed new expedited RCU grace period.

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