documentation: Add real-time requirements from CPU-bound workloads
This commit records RCU's responsibility to avoid degrading latencies of CPUs running tight loops within properly configured workloads, both in kernel and in userspace. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
parent
70946a44de
commit
41abcf321d
|
@ -1,5 +1,5 @@
|
|||
<!-- DO NOT HAND EDIT. -->
|
||||
<!-- Instead, edit Documentation/RCU/Design/Requirements/Requirements.htmlx and run 'sh htmlqqz.sh Documentation/RCU/Design/Requirements/Requirements' -->
|
||||
<!-- Instead, edit Requirements.htmlx and run 'sh htmlqqz.sh Requirements' -->
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
|
@ -2170,6 +2170,14 @@ up to and including systems with 4096 CPUs.
|
|||
This real-time requirement motivated the grace-period kthread, which
|
||||
also simplified handling of a number of race conditions.
|
||||
|
||||
<p>
|
||||
RCU must avoid degrading real-time response for CPU-bound threads, whether
|
||||
executing in usermode (which is one use case for
|
||||
<tt>CONFIG_NO_HZ_FULL=y</tt>) or in the kernel.
|
||||
That said, CPU-bound loops in the kernel must execute
|
||||
<tt>cond_resched_rcu_qs()</tt> at least once per few tens of milliseconds
|
||||
in order to avoid receiving an IPI from RCU.
|
||||
|
||||
<p>
|
||||
Finally, RCU's status as a synchronization primitive means that
|
||||
any RCU failure can result in arbitrary memory corruption that can be
|
||||
|
|
|
@ -2337,6 +2337,14 @@ up to and including systems with 4096 CPUs.
|
|||
This real-time requirement motivated the grace-period kthread, which
|
||||
also simplified handling of a number of race conditions.
|
||||
|
||||
<p>
|
||||
RCU must avoid degrading real-time response for CPU-bound threads, whether
|
||||
executing in usermode (which is one use case for
|
||||
<tt>CONFIG_NO_HZ_FULL=y</tt>) or in the kernel.
|
||||
That said, CPU-bound loops in the kernel must execute
|
||||
<tt>cond_resched_rcu_qs()</tt> at least once per few tens of milliseconds
|
||||
in order to avoid receiving an IPI from RCU.
|
||||
|
||||
<p>
|
||||
Finally, RCU's status as a synchronization primitive means that
|
||||
any RCU failure can result in arbitrary memory corruption that can be
|
||||
|
|
Loading…
Reference in New Issue