发明名称 Preemptible-RCU CPU Hotplugging While Maintaining Real-Time Response
摘要 A grace period detection technique for a preemptible read-copy update (RCU) implementation that uses a combining tree for quiescent state tracking. When a leaf level bitmask indicating online/offline CPUs is fully cleared due to all of its assigned CPUs going offline as a result of hotplugging operations, the bitmask state is not immediately propagated to the root level of the combining tree as in prior art RCU implementations. Instead, propagation is deferred until all tasks are removed from an associated leaf level task list tracking tasks that were preempted inside an RCU read-side critical section. Deferring bitmask propagation obviates the need to migrate the task list to the combining tree root level in order to prevent premature grace period termination. The task list can remain at the leaf level. In this way, CPU hotplugging is accommodated while avoiding excessive degradation of real-time latency stemming from the now-eliminated task list migration.
申请公布号 US2016335137(A1) 申请公布日期 2016.11.17
申请号 US201514832291 申请日期 2015.08.21
申请人 International Business Machines Corporation 发明人 McKenney Paul E.
分类号 G06F9/52 主分类号 G06F9/52
代理机构 代理人
主权项 1. A hierarchical read-copy update (RCU) grace period detection method that accommodates CPU-hotplugging while avoiding degradation of real-time latency due to task list migration, comprising: providing a combining tree of two or more levels to track quiescent states, said levels including a leaf level and a root level; determining whether a condition warrants adjusting hierarchical RCU grace period detection to account for CPUs that have gone offline due to hotplugging operations; said condition being met if (1) a leaf level bitmask of said combining tree is fully cleared to indicate an offline state in which all of its assigned CPUs are offline, and (2) there are no tasks on a task list associated with said fully cleared bitmask; if said condition is met, then propagating said offline state of said leaf level bitmask up said combining tree to a root level bitmask to thereby establish an adjusted grace period detection state in which said fully cleared bitmask's assigned CPUs are ignored for purposes of grace period detection; if said condition is partially met due to said leaf level bitmask being fully cleared to indicate an offline state in which all of its assigned CPUs are offline, but there are tasks remaining on said task list associated with said fully cleared bitmask, then (3) refraining from propagating said offline state up said combining tree to said root level bitmask and (4) maintaining said associated task list at said leaf level without migration to said root level, thereby ensuring that said tasks remaining on said task list will continue to have effect for purposes of grace period detection without having to migrate said task list; and unless said condition is fully met, continuing existing grace period detection without propagating said offline state.
地址 Armonk NY US