On Fri, Sep 21, 2018 at 06:31:53PM -0400, Joel Fernandes (Google) wrote: > RCU Data-Structures document describes a trick to test RCU with small > number of CPUs but with a larger tree. It wasn't immediately clear how > the document arrived at 16 CPUs which also requires setting the > FANOUT_LEAF to 2 instead of the default of 16. Clarify that. > > Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> Good catch, applied, thank you! You know, those two Kconfig options are so closely linked in my mind that I doubt if I would ever have noticed this issue. So good show! I of course could not resist doing a bit of editing. Could you please check the following to make sure that I didn't mess something up? Thanx, Paul ------------------------------------------------------------------------ commit 9870c5b0f7b41a7b6085c20c22b320681800dabc Author: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> Date: Fri Sep 21 18:31:53 2018 -0400 doc: Clarify RCU data-structure comment about rcu_tree fanout RCU Data-Structures document describes a trick to test RCU with small number of CPUs but with a taller tree. It wasn't immediately clear how the document arrived at 16 CPUs which also requires setting the FANOUT_LEAF to 2 instead of the default of 16. This commit therefore provides the needed clarification. Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxx> diff --git a/Documentation/RCU/Design/Data-Structures/Data-Structures.html b/Documentation/RCU/Design/Data-Structures/Data-Structures.html index 1d2051c0c3fc..476b1ac38e4c 100644 --- a/Documentation/RCU/Design/Data-Structures/Data-Structures.html +++ b/Documentation/RCU/Design/Data-Structures/Data-Structures.html @@ -127,9 +127,11 @@ CPUs, RCU would configure the <tt>rcu_node</tt> tree as follows: </p><p>RCU currently permits up to a four-level tree, which on a 64-bit system accommodates up to 4,194,304 CPUs, though only a mere 524,288 CPUs for 32-bit systems. -On the other hand, you can set <tt>CONFIG_RCU_FANOUT</tt> to be -as small as 2 if you wish, which would permit only 16 CPUs, which -is useful for testing. +On the other hand, you can set both <tt>CONFIG_RCU_FANOUT</tt> and +<tt>CONFIG_RCU_FANOUT_LEAF</tt> to be as small as 2, which would result +in a 16-CPU test using a 4-level tree. +This can be useful for testing large-system capabilities on small test +machines. </p><p>This multi-level combining tree allows us to get most of the performance and scalability