REALTIME-SAFE READ COPY UPDATE WITH PER-PROCESSOR READ/WRITE LOCKS
0 Assignments
0 Petitions
Accused Products
Abstract
A technique for realtime-safe detection of a grace period for deferring the destruction of a shared data element until pre-existing references to the data element have been removed. A per-processor read/write lock is established for each of one or more processors. When reading a shared data element at a processor, the processor'"'"'s read/write lock is acquired for reading, the shared data element is referenced, and the read/write lock that was acquired for reading is released. When starting a new grace period, all of the read/write locks are acquired for writing, a new grace period is started, and all of the read/write locks are released.
27 Citations
20 Claims
-
1-7. -7. (canceled)
-
8. A data processing system having one or more processors, a memory and a communication pathway between the one or more processors and the memory, said system being adapted perform realtime-safe detection of a grace period for deferring removal of a shared data element until pre-existing references to the data element are removed, and comprising:
-
a read/write lock for each of said one or more processors; a read lock/unlock component adapted to; acquire said processor'"'"'s read/write lock for reading prior to said shared data element being referenced; and release said read/write lock that was acquired for reading following said shared data element being referenced; and a grace period controller adapted to; acquire all of said read/write locks for writing; start a new grace period; and release all of said read/write locks. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product for realtime-safe detection of a grace period for deferring the destruction of a shared data element until pre-existing references to the data element are removed, comprising:
-
one or more machine-readable media; means provided by said one or more media for programming a data processing platform to operate as by; establishing a read/write lock for each of one or more processors; when reading a shared data element at a processor; acquiring said processor'"'"'s read/write lock for reading; referencing said shared data element; and releasing said read/write lock that was acquired for reading; and when starting a new grace period; acquiring all of said read/write locks for writing; starting said new grace period; and releasing all of said read/write locks. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification