High performance real-time read-copy update
First Claim
1. A method for reducing reader overhead when referencing a shared data element while facilitating realtime-safe detection of a grace period for deferring destruction of said shared data element, comprising:
- said grace period being determined by a condition in which all readers that are capable of referencing said shared data element have reached a quiescent state subsequent to a request for a quiescent state;
performing common case local quiescent state tracking using only local per-reader state information for all of said readers that have not blocked while in a read-side critical section in which said data element is referenced;
performing uncommon case non-local quiescent state tracking using non-local multi-reader state information for all of said readers that have blocked while in said read-side critical section; and
said common case local quiescent state tracking requiring less processing overhead than said uncommon case non-local quiescent state tracking.
0 Assignments
0 Petitions
Accused Products
Abstract
A technique for reducing reader overhead when referencing a shared data element while facilitating realtime-safe detection of a grace period for deferring destruction of the shared data element. The grace period is determined by a condition in which all readers that are capable of referencing the shared data element have reached a quiescent state subsequent to a request for a quiescent state. Common case local quiescent state tracking may be performed using only local per-reader state information for all readers that have not blocked while in a read-side critical section in which the data element is referenced. Uncommon case non-local quiescent state tracking may be performed using non-local multi-reader state information for all readers that have blocked while in their read-side critical section. The common case local quiescent state tracking requires less processing overhead than the uncommon case non-local quiescent state tracking.
46 Citations
18 Claims
-
1. A method for reducing reader overhead when referencing a shared data element while facilitating realtime-safe detection of a grace period for deferring destruction of said shared data element, comprising:
-
said grace period being determined by a condition in which all readers that are capable of referencing said shared data element have reached a quiescent state subsequent to a request for a quiescent state; performing common case local quiescent state tracking using only local per-reader state information for all of said readers that have not blocked while in a read-side critical section in which said data element is referenced; performing uncommon case non-local quiescent state tracking using non-local multi-reader state information for all of said readers that have blocked while in said read-side critical section; and said common case local quiescent state tracking requiring less processing overhead than said uncommon case non-local quiescent state tracking. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data processing system, comprising:
-
two or more processors; a memory operatively coupled to said two or more processors; said memory including a computer useable medium tangibly embodying at least one program of instructions executable by said processors to perform operations for reducing reader overhead when referencing a shared data element while facilitating realtime-safe detection of a grace period for deferring destruction of said shared data element, said operations comprising; said grace period being determined by a condition in which all readers that are capable of referencing said shared data element have reached a quiescent state subsequent to a request for a quiescent state; performing common case local quiescent state tracking using only local per-reader state information for all of said readers that have not blocked while in a read-side critical section in which said data element is referenced; performing uncommon case non-local quiescent state tracking using non-local multi-reader state information for all of said readers that have blocked while in said read-side critical section; and said common case local quiescent state tracking requiring less processing overhead than said uncommon case non-local quiescent state tracking. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product, comprising:
-
one or more machine-readable storage media; program instructions stored on said one or more storage media for programming a data processing platform having two or more processors and a memory operatively coupled to said processors; said program instructions programming said data processing platform to implement operations for reducing reader overhead when referencing a shared data element while facilitating realtime-safe detection of a grace period for deferring destruction of said shared data element, said operations comprising; said grace period being determined by a condition in which all readers that are capable of referencing said shared data element have reached a quiescent state subsequent to a request for a quiescent state; performing common case local quiescent state tracking using only local per-reader state information for all of said readers that have not blocked while in a read-side critical section in which said data element is referenced; performing uncommon case non-local quiescent state tracking using non-local multi-reader state information for all of said readers that have blocked while in said read-side critical section; and said common case local quiescent state tracking requiring less processing overhead than said uncommon case non-local quiescent state tracking. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification