Read-copy update method
First Claim
1. A method for managing requests for deferred updates to shared data elements while minimizing grace period detection overhead associated with determining whether pre-existing references to the data elements have been removed, comprising:
- buffering plural update requests that are eligible for grace period detection without performing grace period detection processing that determines whether a grace period has elapsed to signify it is safe to process said update requests;
monitoring a set of conditions that are indicative of whether said grace period detection processing should be commenced, said conditions comprising buffer queue conditions, system conditions and explicit conditions, including;
(1) said buffered update requests reaching a threshold number, (2) said buffered update requests being buffered for a threshold time period, (3) said buffered update requests including an update request designated as urgent, (4) a low-memory event being encountered, and (5) a low-memory event being encountered on a memory type and said buffered update requests including an update request corresponding to said memory type;
determining whether any of said conditions warrants commencement of said grace period detection processing; and
if warranted by one of said conditions, performing said grace period detection processing relative to said update requests.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for managing requests for deferred updates to shared data elements while minimizing grace period detection overhead associated with determining whether pre-existing references to the data elements have been removed. Plural update requests that are eligible for grace period detection are buffered without performing grace period detection processing. One or more conditions that could warrant commencement of grace period detection processing are monitored while the update requests are buffered. If warranted by such a condition, grace period detection is performed relative to the update requests so that they can be processed. In this way, grace period detection overhead can be amortized over plural update requests while being sensitive to conditions warranting prompt grace period detection.
66 Citations
11 Claims
-
1. A method for managing requests for deferred updates to shared data elements while minimizing grace period detection overhead associated with determining whether pre-existing references to the data elements have been removed, comprising:
-
buffering plural update requests that are eligible for grace period detection without performing grace period detection processing that determines whether a grace period has elapsed to signify it is safe to process said update requests; monitoring a set of conditions that are indicative of whether said grace period detection processing should be commenced, said conditions comprising buffer queue conditions, system conditions and explicit conditions, including; (1) said buffered update requests reaching a threshold number, (2) said buffered update requests being buffered for a threshold time period, (3) said buffered update requests including an update request designated as urgent, (4) a low-memory event being encountered, and (5) a low-memory event being encountered on a memory type and said buffered update requests including an update request corresponding to said memory type; determining whether any of said conditions warrants commencement of said grace period detection processing; and if warranted by one of said conditions, performing said grace period detection processing relative to said update requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for managing callbacks processed by a read-copy update subsystem while minimizing grace period detection overhead, comprising:
-
buffering plural callbacks that are eligible for grace period detection without performing grace period detection processing that determines whether a grace period has elapsed to signify it is safe to process said callbacks; monitoring a set of conditions that are indicative of whether said grace period detection processing should be commenced, said conditions comprising buffer queue conditions, system conditions and explicit conditions, including; (1) said buffered callbacks reaching a threshold number, (2) said buffered callbacks being buffered for a threshold time period, (3) said buffered callbacks including a callback designated as urgent, (4) a low-memory event being encountered, and (5) a low-memory event being encountered on a memory type and said buffered callbacks including a callback corresponding to said memory type; determining whether any of said conditions warrants commencement of grace period detection processing; and if warranted by one of said conditions, performing said grace period detection processing relative to said callbacks; whereby grace period detection overhead can be amortized over plural callbacks while being sensitive to conditions warranting prompt grace period detection.
-
-
11. A method for managing requests for deferred updates to shared data elements while minimizing grace period detection overhead associated with determining whether pre-existing references to the data elements have been removed, comprising:
-
establishing a buffer to hold plural update requests that are eligible for grace period detection without performing grace period detection processing that determines whether a grace period has elapsed to signify it is safe to process said update requests; monitoring a set of conditions that are indicative of whether said grace period detection processing should be commenced, said conditions comprising buffer queue conditions, system conditions and explicit conditions, including; (1) said update requests reaching a threshold number, (2) said update requests being buffered for a threshold time period, (3) said update requests including an update request designated as urgent, (4) a low-memory event being encountered, and (5) a low-memory event being encountered on a memory type and said update requests including an update request corresponding to said memory type; establishing an indicator for indicating the existence of any of said conditions warranting commencement of said grace period detection processing; and establishing an activator responsive to said indicator indicating said condition and adapted to activate grace period detection relative to said update requests; whereby grace period detection overhead can be amortized over plural update requests while being sensitive to conditions warranting prompt grace period detection.
-
Specification