Merge tag 'trace-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 6 Oct 2016 18:48:41 +0000 (11:48 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 6 Oct 2016 18:48:41 +0000 (11:48 -0700)
Pull tracing updates from Steven Rostedt:
 "This release cycle is rather small.  Just a few fixes to tracing.

  The big change is the addition of the hwlat tracer. It not only
  detects SMIs, but also other latency that's caused by the hardware. I
  have detected some latency from large boxes having bus contention"

* tag 'trace-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  tracing: Call traceoff trigger after event is recorded
  ftrace/scripts: Add helper script to bisect function tracing problem functions
  tracing: Have max_latency be defined for HWLAT_TRACER as well
  tracing: Add NMI tracing in hwlat detector
  tracing: Have hwlat trace migrate across tracing_cpumask CPUs
  tracing: Add documentation for hwlat_detector tracer
  tracing: Added hardware latency tracer
  ftrace: Access ret_stack->subtime only in the function profiler
  function_graph: Handle TRACE_BPUTS in print_graph_comment
  tracing/uprobe: Drop isdigit() check in create_trace_uprobe

1  2 
arch/sh/kernel/ftrace.c
include/linux/ftrace.h
kernel/trace/Kconfig
kernel/trace/trace.c
kernel/trace/trace_functions_graph.c
kernel/trace/trace_uprobe.c

Simple merge
@@@ -794,13 -794,10 +794,15 @@@ struct ftrace_ret_stack 
        unsigned long ret;
        unsigned long func;
        unsigned long long calltime;
+ #ifdef CONFIG_FUNCTION_PROFILER
        unsigned long long subtime;
+ #endif
 +#ifdef HAVE_FUNCTION_GRAPH_FP_TEST
        unsigned long fp;
 +#endif
 +#ifdef HAVE_FUNCTION_GRAPH_RET_ADDR_PTR
 +      unsigned long *retp;
 +#endif
  };
  
  /*
Simple merge
Simple merge
@@@ -170,13 -170,7 +170,12 @@@ ftrace_push_return_trace(unsigned long 
        current->ret_stack[index].ret = ret;
        current->ret_stack[index].func = func;
        current->ret_stack[index].calltime = calltime;
-       current->ret_stack[index].subtime = 0;
 +#ifdef HAVE_FUNCTION_GRAPH_FP_TEST
        current->ret_stack[index].fp = frame_pointer;
 +#endif
 +#ifdef HAVE_FUNCTION_GRAPH_RET_ADDR_PTR
 +      current->ret_stack[index].retp = retp;
 +#endif
        *depth = current->curr_ret_stack;
  
        return 0;
Simple merge