0111
     �_’I|¥‰ÓMjqØ‚¦ð¬÷À¿      File not found.
  #   ˆl–Ü4ý( ©³( 	Å€fàD¦-ÿÂ„™_ÁÀ 0$    # 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 PREEMPTION
	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 NEED_SRCU_NMI_SAFE
	def_bool HAVE_NMI && !ARCH_HAS_NMI_SAFE_THIS_CPU_OPS && !TINY_SRCU

config TASKS_RCU_GENERIC
	def_bool TASKS_RCU || TASKS_RUDE_RCU || TASKS_TRACE_RCU
	help
	  This option enables generic infrastructure code supporting
	  task-based RCU implementations.  Not for manual selection.

config FORCE_TASKS_RCU
	bool "Force selection of TASKS_RCU"
	depends on RCU_EXPERT
	select TASKS_RCU
	default n
	help
	  This option force-enables a task-based RCU implementation
	  that uses only voluntary context switch (not preemption!),
	  idle, and user-mode execution as quiescent states.  Not for
	  manual selection in most cases.

config NEED_TASKS_RCU
	bool
	default n

config TASKS_RCU
	bool
	default NEED_TASKS_RCU && (PREEMPTION || PREEMPT_AUTO)
	select IRQ_WORK

config FORCE_TASKS_RUDE_RCU
	bool "Force selection of Tasks Rude RCU"
	depends on RCU_EXPERT
	select TASKS_RUDE_RCU
	default n
	help
	  This option force-enables a task-based RCU implementation
	  that uses only context switch (including preemption) and
	  user-mode execution as quiescent states.  It forces IPIs and
	  context switches on all online CPUs, including idle ones,
	  so use with caution.	Not for manual selection in most cases.

config TASKS_RUDE_RCU
	bool
	default n
	select IRQ_WORK

config FORCE_TASKS_TRACE_RCU
	bool "Force selection of Tasks Trace RCU"
	depends on RCU_EXPERT
	select TASKS_TRACE_RCU
	default n
	help
	  This option enables a task-based RCU implementation that uses
	  explicit rcu_read_lock_trace() read-side markers, and allows
	  these readers to appear in the idle loop as well as on the
	  CPU hotplug code paths.  It can force IPIs on online CPUs,
	  including idle ones, so use with caution.  Not for manual
	  selection in most cases.

config TASKS_TRACE_RCU
	bool
	default n
	select IRQ_WORK

config RCU_STALL_COMMON
	def_bool TREE_RCU
	help
	  This option enables RCU CPU stall code that is common between
	  the TINY and TREE variants of RCU.  The purpose is to allow
	  the tiny variants to disable RCU CPU stall warnings, while
	  making these warnings mandatory for the tree variants.

config RCU_NEED_SEGCBLIST
	def_bool ( TREE_RCU || TREE_SRCU || TASKS_RCU_GENERIC )

conf