On Fri, 20 Nov 2020 at 20:16, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > > On Fri, 20 Nov 2020 19:17:37 +0100 > Marco Elver <elver@xxxxxxxxxx> wrote: > > > > > +++ b/kernel/rcu/Makefile > > > > @@ -3,6 +3,13 @@ > > > > # and is generally not a function of system call inputs. > > > > KCOV_INSTRUMENT := n > > > > > > > > +ifdef CONFIG_FUNCTION_TRACER > > > > +CFLAGS_REMOVE_update.o = $(CC_FLAGS_FTRACE) > > > > +CFLAGS_REMOVE_sync.o = $(CC_FLAGS_FTRACE) > > > > +CFLAGS_REMOVE_srcutree.o = $(CC_FLAGS_FTRACE) > > > > +CFLAGS_REMOVE_tree.o = $(CC_FLAGS_FTRACE) > > > > +endif > > > > + > > > > > > Can you narrow it down further? That is, do you really need all of the > > > above to stop the stalls? > > > > I tried to reduce it to 1 or combinations of 2 files only, but that > > didn't work. > > I'm curious if this would help at all? > > > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c > index 2a52f42f64b6..d020ecefd151 100644 > --- a/kernel/rcu/tree.c > +++ b/kernel/rcu/tree.c > @@ -1094,7 +1094,7 @@ static void rcu_disable_urgency_upon_qs(struct rcu_data *rdp) > * if the current CPU is not in its idle loop or is in an interrupt or > * NMI handler, return true. > */ > -bool rcu_is_watching(void) > +notrace bool rcu_is_watching(void) > { > bool ret; > > Although I don't see it in the recursion list. It seems a patch to that effect is already in -next ("rcu,ftrace: Fix ftrace recursion"), and my experiments so far have all been with it. Thanks, -- Marco