lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <323e29c6-36ce-4aa6-22f7-7b98c1425d10@infradead.org>
Date:   Thu, 17 Mar 2022 13:31:00 -0700
From:   Randy Dunlap <rdunlap@...radead.org>
To:     paulmck@...nel.org
Cc:     Hyeonggon Yoo <42.hyeyoo@...il.com>, rcu@...r.kernel.org,
        Josh Triplett <josh@...htriplett.org>,
        Steven Rostedt <rostedt@...dmis.org>,
        Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
        Joel Fernandes <joel@...lfernandes.org>,
        linux-kernel@...r.kernel.org
Subject: Re: RCU: undefined reference to irq_work_queue



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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ