Optimizing grace period detection for preemptible read-copy update on uniprocessor systems
First Claim
1. A method comprising:
- determining if a data processing system that is to perform grace period detection following a data element update operation on shared data is a uniprocessor system or a multiprocessor system;
performing grace period detection processing using a first grace period detection technique if said data processing system is a multiprocessor system;
performing grace period detection processing using a second grace period detection technique if said data processing system is a uniprocessor system; and
said grace period detection processing according to either technique determining an end of a grace period in which readers that are subject to preemption have passed through a quiescent state and cannot be maintaining references to a pre-update view of said shared data.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for optimizing grace period detection following a data element update operation that affects preemptible data readers. A determination is made whether the data processing system is a uniprocessor system or a multiprocessor system. Grace period detection processing is performed using a first grace period detection technique if the data processing system is a multiprocessor system. Grace period detection processing is performed using a second grace period detection technique if the data processing system is a uniprocessor system. The grace period detection processing according to either technique determines the end of a grace period in which readers that are subject to preemption have passed through a quiescent state and cannot be maintaining references to the pre-update view of the shared data.
-
Citations
20 Claims
-
1. A method comprising:
-
determining if a data processing system that is to perform grace period detection following a data element update operation on shared data is a uniprocessor system or a multiprocessor system; performing grace period detection processing using a first grace period detection technique if said data processing system is a multiprocessor system; performing grace period detection processing using a second grace period detection technique if said data processing system is a uniprocessor system; and said grace period detection processing according to either technique determining an end of a grace period in which readers that are subject to preemption have passed through a quiescent state and cannot be maintaining references to a pre-update view of said shared data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data processing system, comprising:
-
one or more processors; a memory coupled to said one or more processors, said memory including a computer useable storage medium tangibly embodying at least one program of instructions executable by said one or more processors to perform operations for optimizing grace period detection following a data element update operation on shared data that affects preemptible data readers, comprising; determining if said data processing system is a uniprocessor system or a multiprocessor system; performing grace period detection processing using a first grace period detection technique if said data processing system is a multiprocessor system; performing grace period detection processing using a second grace period detection technique if said data processing system is a uniprocessor system; and said grace period detection processing according to either technique determining an end of a grace period in which readers that are subject to preemption have passed through a quiescent state and cannot be maintaining references to a pre-update view of said shared data. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product, comprising:
-
one or more machine-readable storage media; means provided by said one or more media for programming a data processing system to optimize grace period detection following a data element update operation on shared data that affects preemptible data readers, as by; determining if said data processing system is a uniprocessor system or a multiprocessor system; performing grace period detection processing using a first grace period detection technique if said data processing system is a multiprocessor system; performing grace period detection processing using a second grace period detection technique if said data processing system is a uniprocessor system; and said grace period detection processing according to either technique determining the end of a grace period in which readers that are subject to preemption have passed through a quiescent state and cannot be maintaining references to a pre-update view of said shared data. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method for optimizing grace period detection following a data element update operation in a data processing system having preemptible readers, comprising:
-
performing a first-phase data update operation on shared data in a manner that temporarily preserves a pre-update view of said shared data for benefit of readers that may be concurrently referencing said shared data during said update operation; dynamically determining if said data processing system is a uniprocessor system or a multiprocessor system; performing grace period detection processing using a first grace period detection technique if said data processing system is a multiprocessor system; performing grace period detection processing using a second grace period detection technique if said data processing system is a uniprocessor system; said grace period detection processing according to either technique determining an end of a grace period in which readers that are subject to preemption have passed through a quiescent state and cannot be maintaining references to a pre-update view of said shared data; and performing a second-phase update operation following said grace period. - View Dependent Claims (20)
-
Specification