×

Funnel locking for normal RCU grace period requests

  • US 10,613,913 B1
  • Filed: 10/06/2018
  • Issued: 04/07/2020
  • Est. Priority Date: 10/06/2018
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method, comprising:

  • calculating a future normal RCU grace period based on the status of a current RCU grace period;

    initiating a traversal of a funnel lock embodied as a hierarchical tree of nodes having a single top level root node, one or more bottom level leaf nodes, and zero or more intermediate level nodes;

    the funnel-lock traversal starting at an initial node whose node lock is held throughout the funnel-lock traversal;

    for each node accessed during the funnel-lock traversal that is not the initial node, holding a node lock on the node while accessing that node;

    for each node accessed during the funnel-lock traversal, checking future normal RCU grace period request information maintained by the node to determine whether a first condition exists wherein the future normal RCU grace period has already been requested at that node, and responsive to the first condition being determined to exist, terminating the funnel-lock traversal;

    for each node accessed during the funnel-lock traversal, checking current normal RCU grace period information maintained by the node to determine whether a second condition exists wherein the future normal RCU grace period as already started, and responsive to the second condition being determined to exist, terminating the funnel-lock traversal;

    for each node accessed during the funnel-lock traversal that is not the initial node, checking the current normal RCU grace period information maintained by the node to determine whether a third condition exists wherein any normal RCU grace period is currently underway, and responsive to the third condition being determined to exist, terminating the funnel-lock traversal; and

    for each node accessed during the funnel-lock traversal wherein neither the first condition, the second condition, nor the third condition are determined to exist, updating the future normal RCU grace period request information maintained by the node to record a request for the future normal RCU grace period.

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