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. -- Steve