kernel/rcu/Kconfig

Source file repositories/reference/linux-study-clean/kernel/rcu/Kconfig

File Facts

System
Linux kernel
Corpus path
kernel/rcu/Kconfig
Extension
[no extension]
Size
13914 bytes
Lines
385
Domain
Core OS
Bucket
Scheduler, Processes, Timers, Sync, And Syscalls
Inferred role
Core OS: build/configuration rule
Status
atlas-only

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only
#
# RCU-related configuration options
#

menu "RCU Subsystem"

config TREE_RCU
	bool
	default y if SMP
	# Dynticks-idle tracking
	select CONTEXT_TRACKING_IDLE
	help
	  This option selects the RCU implementation that is
	  designed for very large SMP system with hundreds or
	  thousands of CPUs.  It also scales down nicely to
	  smaller systems.

config PREEMPT_RCU
	bool
	default y if (PREEMPT || PREEMPT_RT || PREEMPT_DYNAMIC)
	select TREE_RCU
	help
	  This option selects the RCU implementation that is
	  designed for very large SMP systems with hundreds or
	  thousands of CPUs, but for which real-time response
	  is also required.  It also scales down nicely to
	  smaller systems.

	  Select this option if you are unsure.

config TINY_RCU
	bool
	default y if !PREEMPT_RCU && !SMP
	help
	  This option selects the RCU implementation that is
	  designed for UP systems from which real-time response
	  is not required.  This option greatly reduces the
	  memory footprint of RCU.

config RCU_EXPERT
	bool "Make expert-level adjustments to RCU configuration"
	default n
	help
	  This option needs to be enabled if you wish to make
	  expert-level adjustments to RCU configuration.  By default,
	  no such adjustments can be made, which has the often-beneficial
	  side-effect of preventing "make oldconfig" from asking you all
	  sorts of detailed questions about how you would like numerous
	  obscure RCU options to be set up.

	  Say Y if you need to make expert-level adjustments to RCU.

	  Say N if you are unsure.

config TINY_SRCU
	bool
	default y if TINY_RCU
	help
	  This option selects the single-CPU non-preemptible version of SRCU.

config TREE_SRCU
	bool
	default y if !TINY_RCU
	help
	  This option selects the full-fledged version of SRCU.

config FORCE_NEED_SRCU_NMI_SAFE
	bool "Force selection of NEED_SRCU_NMI_SAFE"
	depends on !TINY_SRCU

Annotation

Implementation Notes