]> git.baikalelectronics.ru Git - kernel.git/commit
tracing: Hide global trace clock from lockdep
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Wed, 4 Apr 2018 18:50:15 +0000 (14:50 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 6 Apr 2018 12:56:52 +0000 (08:56 -0400)
commit972f9a5c4a02b6d28cf7795cc57ccdcd92c55c35
tree36602d82229665a0e1375017a78353d21154610f
parentcaccab01329513e8682ed6da83313f30651c34de
tracing: Hide global trace clock from lockdep

Function tracing can trace in NMIs and such. If the TSC is determined
to be unstable, the tracing clock will switch to the global clock on
boot up, unless "trace_clock" is specified on the kernel command line.

The global clock disables interrupts to access sched_clock_cpu(), and in
doing so can be done within lockdep internals (because of function
tracing and NMIs). This can trigger false lockdep splats.

The trace_clock_global() is special, best not to trace the irq logic
within it.

Link: http://lkml.kernel.org/r/20180404145015.77bde42d@gandalf.local.home
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_clock.c