Navigation: Linux Kernel Driver DataBase - web LKDDB: Main index - R index
The Linux kernel configuration item CONFIG_RCU_FANOUT_LEAF
has multiple definitions:
kernel/rcu/Kconfig
The configuration item CONFIG_RCU_FANOUT_LEAF:
( CONFIG_TREE_RCU && CONFIG_RCU_EXPERT ) && (! CONFIG_RCU_STRICT_GRACE_PERIOD ) && ( CONFIG_RCU_STRICT_GRACE_PERIOD )
This option controls the leaf-level fanout of hierarchical implementations of RCU, and allows trading off cache misses against lock contention. Systems that synchronize their scheduling-clock interrupts for energy-efficiency reasons will want the default because the smaller leaf-level fanout keeps lock contention levels acceptably low. Very large systems (hundreds or thousands of CPUs) will instead want to set this value to the maximum value possible in order to reduce the number of cache misses incurred during RCU's grace-period initialization. These systems tend to run CPU-bound, and thus are not helped by synchronized interrupts, and thus tend to skew them, which reduces lock contention enough that large leaf-level fanouts work well. That said, setting leaf-level fanout to a large number will likely cause problematic lock contention on the leaf-level rcu_node structures unless you boot with the skew_tick kernel parameter.
Select a specific number if testing RCU itself.
Select the maximum permissible value for large systems, but please understand that you may also need to set the skew_tick kernel boot parameter to avoid contention on the rcu_node structure's locks.
Take the default if unsure.
init/Kconfig
The configuration item CONFIG_RCU_FANOUT_LEAF:
( CONFIG_TREE_RCU || CONFIG_PREEMPT_RCU ) && CONFIG_RCU_EXPERT
This option controls the leaf-level fanout of hierarchical implementations of RCU, and allows trading off cache misses against lock contention. Systems that synchronize their scheduling-clock interrupts for energy-efficiency reasons will want the default because the smaller leaf-level fanout keeps lock contention levels acceptably low. Very large systems (hundreds or thousands of CPUs) will instead want to set this value to the maximum value possible in order to reduce the number of cache misses incurred during RCU's grace-period initialization. These systems tend to run CPU-bound, and thus are not helped by synchronized interrupts, and thus tend to skew them, which reduces lock contention enough that large leaf-level fanouts work well. That said, setting leaf-level fanout to a large number will likely cause problematic lock contention on the leaf-level rcu_node structures unless you boot with the skew_tick kernel parameter.
Select a specific number if testing RCU itself.
Select the maximum permissible value for large systems, but please understand that you may also need to set the skew_tick kernel boot parameter to avoid contention on the rcu_node structure's locks.
Take the default if unsure.
Raw data from LKDDb:
(none)
This page is automaticly generated with free (libre, open) software lkddb(see lkddb-sources).
The data is retrived from:
Popular queries:
Navigation: Linux Kernel Driver DataBase - web LKDDB: main index - R index
Automatically generated (in year 2024). See also LKDDb sources on GitLab