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