Re: [PATCH rcu 1/2] docs: Add documentation for rude and trace RCU flavors
From: Paul E. McKenney
Date: Wed Apr 20 2022 - 15:22:29 EST
On Wed, Apr 20, 2022 at 02:43:09PM -0400, Steven Rostedt wrote:
> On Wed, 20 Apr 2022 11:37:26 -0700
> "Paul E. McKenney" <paulmck@xxxxxxxxxx> wrote:
>
> > The original purpose of RCU Tasks Rude was to deal with the idle tasks,
> > given that RCU Tasks dealt only with the non-idle tasks.
> >
> > Or is there a trick that I missed?
>
> It use to be that ftrace trampolines could be called from all sorts of
> locations until Peter introduced the "noinstr" annotation that causes
> objtool to fail to build when tracing happens there. If that prevents
> ftrace from happening in that idle case where RCU tasks can not handle it,
> then it may be that we can simply switch ftrace to the RCU tasks and get
> rid of rude. ?
The last time that I asked Peter about this, he sounded less confident
than I would like, but...
Once sufficient confidence is present, RCU Tasks could pay attention to
idle tasks, and declare a quiescent state for that idle task if RCU is
not currently watching its corresponding CPU.
This would get rid of all of the RCU Tasks Rude use cases that I know of.
The ones that I don't know of? Who knows? ;-)
Thanx, Paul