Efficiently boosting priority of read-copy update readers in a real-time data processing system
First Claim
1. A method for efficiently boosting the priority of a preemptable data reader in order to eliminate impediments to grace period processing that defers the destruction of one or more shared data elements that may be referenced by said reader until said reader is no longer capable of referencing said one or more data elements, comprising:
- upon said reader being subject to preemption or blocking;
determining whether said reader is in a read-side critical section referencing any of said one or more shared data elements;
detecting the existence of a predetermined condition other than whether said reader is in said critical section;
boosting said reader'"'"'s priority when said reader is in said critical section from an existing priority level to a priority boost level that is higher than said existing priority level to expedite said reader'"'"'s completion of said critical section, said priority boost level having a first magnitude when said predetermined condition is not detected and a second magnitude that is greater than said first magnitude when said predetermined condition is detected; and
decreasing said reader'"'"'s priority following said reader'"'"'s completion of said critical section.
5 Assignments
0 Petitions
Accused Products
Abstract
A technique for efficiently boosting the priority of a preemptable data reader in order to eliminate impediments to grace period processing that defers the destruction of one or more shared data elements that may be referenced by the reader until the reader is no longer capable of referencing the data elements. Upon the reader being subject to preemption or blocking, it is determined whether the reader is in a read-side critical section referencing any of the shared data elements. If it is, the reader'"'"'s priority is boosted in order to expedite completion of the critical section. The reader'"'"'s priority is subsequently decreased after the critical section has completed. In this way, delays in grace period processing due to reader preemption within the critical section, which can result in an out-of-memory condition, can be minimized efficiently with minimal processing overhead.
-
Citations
20 Claims
-
1. A method for efficiently boosting the priority of a preemptable data reader in order to eliminate impediments to grace period processing that defers the destruction of one or more shared data elements that may be referenced by said reader until said reader is no longer capable of referencing said one or more data elements, comprising:
-
upon said reader being subject to preemption or blocking; determining whether said reader is in a read-side critical section referencing any of said one or more shared data elements; detecting the existence of a predetermined condition other than whether said reader is in said critical section; boosting said reader'"'"'s priority when said reader is in said critical section from an existing priority level to a priority boost level that is higher than said existing priority level to expedite said reader'"'"'s completion of said critical section, said priority boost level having a first magnitude when said predetermined condition is not detected and a second magnitude that is greater than said first magnitude when said predetermined condition is detected; and decreasing said reader'"'"'s priority following said reader'"'"'s completion of said critical section. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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 to efficiently boost the priority of a preemptable data reader in order to eliminate impediments to grace period processing that defers the destruction of one or more shared data elements that may be referenced by said reader until said reader is no longer capable of referencing said one or more data elements, and comprising:
-
a real-time preemptive scheduler adapted to preemptively schedule said reader for execution; a lock priority subsystem adapted to implement priority inheritance management of a sharable lock that may be held by said reader; a grace period detection component adapted to detect the end of a current grace period and initiate a new grace period; a callback advancer adapted to advance shared data element destruction callbacks for processing when said grace period detection component initiates a new grace period; a reader registration component adapted to indicate to said grace period detection component that said reader is entering said critical section; a reader deregistration component adapted to indicate to said grace period detection component that said reader is exiting said critical section; said scheduler and said lock priority subsystem being respectively responsive to said reader being subject to preemption or blocking by; determining whether said reader is in a read-side critical section referencing any of said one or more shared data elements; and boosting said reader'"'"'s priority if said reader is in said critical section to expedite said reader'"'"'s completion of said critical section; and said reader deregistration component being responsive to said reader having a boosted priority level by decreasing said reader'"'"'s priority following said reader'"'"'s completion of said critical section. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product for efficiently boosting the priority of a preemptable data reader in order to eliminate impediments to grace period processing that defers the destruction of one or more shared data elements that may be referenced by said reader until said reader is no longer capable of referencing said one or more data elements, comprising:
-
one or more machine-useable storage media; programming logic provided by said one or more storage media for programming a data processing platform to operate as by; upon said reader being subject to preemption or blocking; determining whether said reader is in a read-side critical section referencing any of said one or more shared data elements; detecting the existence of a predetermined condition other than whether said reader is in said critical section; boosting said reader'"'"'s priority when said reader is in said critical section from an existing priority level to priority boost level that is higher than said existing priority level to expedite said reader'"'"'s completion of said critical section, said priority boost level having a first magnitude when said predetermined condition is not detected and a second magnitude that is greater than said first magnitude when said predetermined condition is detected; and decreasing said reader'"'"'s priority following said reader'"'"'s completion of said critical section. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification