summaryrefslogtreecommitdiff
path: root/Documentation/RCU/Design/Requirements
AgeCommit message (Collapse)AuthorFilesLines
2015-12-05documentation: Update RCU requirements based on expedited changesPaul E. McKenney2-3/+19
Because RCU-sched expedited grace periods now use IPIs and interact with rcu_read_unlock(), it is no longer sufficient to disable preemption across RCU read-side critical sections that acquire and hold scheduler locks. It is now necessary to instead disable interrupts. This commit documents this change. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2015-12-05documentation: Clarify RCU memory barriers and requirementsPaul E. McKenney2-54/+78
The RCU requirements do not make it absolutely clear that the memory-barrier requirements are not intended to replace the fundamental requirement that all pre-existing RCU readers complete before a grace period completes. This commit therefore pulls the memory-barrier requirements into a separate section and explicitly calls out the relationship between the memory-barrier requirements and the fundamental requirement. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2015-12-05documentation: Expand on scheduler/RCU deadlock requirementsPaul E. McKenney2-10/+18
This commit adds a second option for avoiding scheduler/RCU deadlocks, namely that preemption be disabled across the entire RCU read-side critical section in question. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2015-12-05documentation: Composability analogiesPaul E. McKenney2-0/+16
This commit expands on RCU's composability by comparing it to that of transactional memory and of locking. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2015-12-05documentation: Cover requirements controlling stall warningsPaul E. McKenney2-2/+48
This commit adds verbiage on boot and sysfs parameters that can be used to control RCU CPU stall warnings, both to change the timeout and to suppress these warnings entirely. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2015-12-05Documentation: Record bottom-bit-zero guarantee for ->nextPaul E. McKenney2-0/+86
This commit records RCU's guarantee that the bottom bit of the rcu_head structure's ->next field will remain zero for callbacks posted via call_rcu(), but not necessarily for <tt>kfree_rcu()</tt> or some possible future call_rcu_lazy() variant that might one day be created for energy-efficiency purposese. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> [ paulmck: Updates URLs as suggested by Josh Triplett. ]
2015-12-05documentation: Record RCU requirementsPaul E. McKenney6-0/+6692
This commit adds RCU requirements as published in a 2015 LWN series. Bringing these requirements in-tree allows them to be updated as changes are discovered. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> [ paulmck: Updates to charset and URLs as suggested by Josh Triplett. ]