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: <20220317202925.GS4285@paulmck-ThinkPad-P17-Gen-1>
Date:   Thu, 17 Mar 2022 13:29:25 -0700
From:   "Paul E. McKenney" <paulmck@...nel.org>
To:     Randy Dunlap <rdunlap@...radead.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 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

> > +	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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ