On Fri, 30 Nov 2018 16:09:35 +0100 Anders Roxell <[email protected]> wrote:
> When we have KCOV enabled and running ftrace startup tests we end up in > a softlockup. Kcov and ftrace tracing each other makes it really slow: > > [ 275.141388] Testing tracer wakeup_dl: PASSED > [ 304.738345] Testing tracer function_graph: > [ 716.236822] watchdog: BUG: soft lockup - CPU#0 stuck for 21s! > [ksoftirqd/0:9] > > Rework so that we don't let KCOV look at tracing files. Could probably > be more selective here, but in in general letting KCOV and ftrace check > each isn't the best idea. > > Co-developed-by: Arnd Bergmann <[email protected]> > Signed-off-by: Arnd Bergmann <[email protected]> > Signed-off-by: Anders Roxell <[email protected]> > --- > kernel/trace/Makefile | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile > index f81dadbc7c4a..c7c73b976103 100644 > --- a/kernel/trace/Makefile > +++ b/kernel/trace/Makefile > @@ -6,6 +6,11 @@ ifdef CONFIG_FUNCTION_TRACER > ORIG_CFLAGS := $(KBUILD_CFLAGS) > KBUILD_CFLAGS = $(subst $(CC_FLAGS_FTRACE),,$(ORIG_CFLAGS)) > > +# If instrumentation of this dir is enabled, the function tracer gets really > +# slow. Probably could be more selective here, but note that files related > +# to tracing.shouldn't be traced anyway. > +KCOV_INSTRUMENT := n > + The entire directory is also set to not be traced by function tracing, which also is a bit overkill, as there's functions in this directory that can (and probably should) be. Acked-by: Steven Rostedt (VMware) <[email protected]> -- Steve > ifdef CONFIG_FTRACE_SELFTEST > # selftest needs instrumentation > CFLAGS_trace_selftest_dynamic.o = $(CC_FLAGS_FTRACE)

