On Fri, Aug 21, 2020 at 11:41:41AM -0400, Steven Rostedt wrote: > On Fri, 21 Aug 2020 11:38:31 -0400 > Steven Rostedt <rost...@goodmis.org> wrote: > > > > > At some point we're going to have to introduce noinstr to idle as well. > > > > But until that time this should indeed cure things. > > > > > What the above means, is that ideally we will get rid of all > tracepoints and kasan checks from these RCU not watching locations. But
s/and kasan// We only need to get rid of explicit tracepoints -- typically just move them outside of the rcu_idle_enter/exit section. > to do so, we need to move the RCU not watching as close as possible to > where it doesn't need to be watching, and that is not as trivial of a > task as one might think. My recent patch series got a fair way towards that, but yes, there's more work to be done still. > Once we get to a minimal code path for RCU not > to be watching, it will become "noinstr" and tracing and "debugging" > will be disabled in these sections. Right, noinstr is like notrace on steriods, not only does it disallow tracing, it will also disable all the various *SAN/KCOV instrumentation. It also has objtool based validation which ensures noinstr code doesn't call out to regular code.