Navigation: Linux Kernel Driver DataBase - web LKDDB: Main index - R index

CONFIG_RCU_FANOUT_LEAF: Tree-based hierarchical RCU leaf-level fanout value

General informations

The Linux kernel configuration item CONFIG_RCU_FANOUT_LEAF has multiple definitions:

Tree-based hierarchical RCU leaf-level fanout value found in kernel/rcu/Kconfig

The configuration item CONFIG_RCU_FANOUT_LEAF:

Help text

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.

Tree-based hierarchical RCU leaf-level fanout value found in init/Kconfig

The configuration item CONFIG_RCU_FANOUT_LEAF:

Help text

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.

Hardware

LKDDb

Raw data from LKDDb:

Sources

This page is automaticly generated with free (libre, open) software lkddb(see lkddb-sources).

The data is retrived from:

Automatic links from Google (and ads)

Custom Search

Popular queries:

Navigation: Linux Kernel Driver DataBase - web LKDDB: main index - R index

Automatically generated (in year 2024). See also LKDDb sources on GitLab