On 3/17/22 13:29, Paul E. McKenney wrote: > On Thu, Mar 17, 2022 at 01:26:45PM -0700, Randy Dunlap wrote: >> >> >> On 3/17/22 10:36, Paul E. McKenney wrote: >>> On Thu, Mar 17, 2022 at 04:45:11PM +0000, Hyeonggon Yoo wrote: >>>> On Thu, Mar 17, 2022 at 09:20:33AM -0700, Paul E. McKenney wrote: >>>>> On Thu, Mar 17, 2022 at 03:24:42PM +0000, Hyeonggon Yoo wrote: >>>>>> On Thu, Mar 17, 2022 at 07:00:00AM -0700, Paul E. McKenney wrote: >>>>>>> On Thu, Mar 17, 2022 at 11:32:53AM +0000, Hyeonggon Yoo wrote: >>>>>>>> Hello RCU folks, >>>>>>>> >> >>> ------------------------------------------------------------------------ >>> >>> diff --git a/arch/Kconfig b/arch/Kconfig >>> index 678a80713b21..66c5b5543511 100644 >>> --- a/arch/Kconfig >>> +++ b/arch/Kconfig >>> @@ -38,6 +38,7 @@ config KPROBES >>> depends on MODULES >>> depends on HAVE_KPROBES >>> select KALLSYMS >>> + select TASKS_RCU if PREEMPTION >>> help >>> Kprobes allows you to trap at almost any kernel address and >>> execute a callback function. register_kprobe() establishes >>> diff --git a/kernel/rcu/Kconfig b/kernel/rcu/Kconfig >>> index f559870fbf8b..4f665ae0cf55 100644 >>> --- a/kernel/rcu/Kconfig >>> +++ b/kernel/rcu/Kconfig >>> @@ -78,7 +78,8 @@ config TASKS_RCU_GENERIC >>> task-based RCU implementations. Not for manual selection. >>> >>> config TASKS_RCU >>> - def_bool PREEMPTION >>> + def_bool 0 >> >> preferably >> def_bool n >> >> but the 0 probably works... :) > > In a later commit, it ends up like this: > > config TASKS_TRACE_RCU > bool "Enable Tasks Trace RCU" > depends on RCU_EXPERT > default n > select IRQ_WORK > 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. > > The reason being to allow people to use rcutorture without having > to have TASKS_TRACE_RCU enabled. > > So you got your wish! I think... ;-) > > Thanx, Paul Yeah, thanks. >>> + select IRQ_WORK >>> help >>> This option enables a task-based RCU implementation that uses >>> only voluntary context switch (not preemption!), idle, and >>> diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig >>> index 752ed89a293b..a7aaf150b704 100644 >>> --- a/kernel/trace/Kconfig >>> +++ b/kernel/trace/Kconfig >>> @@ -127,6 +127,7 @@ config TRACING >>> select BINARY_PRINTF >>> select EVENT_TRACING >>> select TRACE_CLOCK >>> + select TASKS_RCU if PREEMPTION >>> >>> config GENERIC_TRACER >>> bool >> >> -- >> ~Randy -- ~Randy