Re: RCU: undefined reference to irq_work_queue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux