• Linus Torvalds's avatar
    Merge tag 'trace-v4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 7639dad9
    Linus Torvalds authored
    Pull motr tracing updates from Steven Rostedt:
     "Three more changes.
    
       - I forgot that I had another selftest to stress test the ftrace
         instance creation.  It was actually suppose to go into the 4.6
         merge window, but I never committed it.  I almost forgot about it
         again, but noticed it was missing from your tree.
    
       - Soumya PN sent me a clean up patch to not disable interrupts when
         taking the tasklist_lock for read, as it's unnecessary because that
         lock is never taken for write in irq context.
    
       - Newer gcc's can cause the jump in the function_graph code to the
         global ftrace_stub label to be a short jump instead of a long one.
         As that jump is dynamically converted to jump to the trace code to
         do function graph tracing, and that conversion expects a long jump
         it can corrupt the ftrace_stub itself (it's directly after that
         call).  One way to prevent gcc from using a short jump is to
         declare the ftrace_stub as a weak function, which we do here to
         keep gcc from optimizing too much"
    
    * tag 'trace-v4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      ftrace/x86: Set ftrace_stub to weak to prevent gcc from using short jumps to it
      ftrace: Don't disable irqs when taking the tasklist_lock read_lock
      ftracetest: Add instance created, delete, read and enable event test
    7639dad9
ftrace.c 140 KB