Skip to content
  • Linus Torvalds's avatar
    09c0796a
    Merge tag 'trace-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 09c0796a
    Linus Torvalds authored
    Pull tracing updates from Steven Rostedt:
     "The major update to this release is that there's a new arch config
      option called CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS.
    
      Currently, only x86_64 enables it. All the ftrace callbacks now take a
      struct ftrace_regs instead of a struct pt_regs. If the architecture
      has HAVE_DYNAMIC_FTRACE_WITH_ARGS enabled, then the ftrace_regs will
      have enough information to read the arguments of the function being
      traced, as well as access to the stack pointer.
    
      This way, if a user (like live kernel patching) only cares about the
      arguments, then it can avoid using the heavier weight "regs" callback,
      that puts in enough information in the struct ftrace_regs to simulate
      a breakpoint exception (needed for kprobes).
    
      A new config option that audits the timestamps of the ftrace ring
      buffer at most every event recorded.
    
      Ftrace recursion protection has been cleaned up to move the protection
      to the callback itself (this saves on an extra function call for those
      callbacks).
    
      Perf now handles its own RCU protection and does not depend on ftrace
      to do it for it (saving on that extra function call).
    
      New debug option to add "recursed_functions" file to tracefs that
      lists all the places that triggered the recursion protection of the
      function tracer. This will show where things need to be fixed as
      recursion slows down the function tracer.
    
      The eval enum mapping updates done at boot up are now offloaded to a
      work queue, as it caused a noticeable pause on slow embedded boards.
    
      Various clean ups and last minute fixes"
    
    * tag 'trace-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (33 commits)
      tracing: Offload eval map updates to a work queue
      Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS"
      ring-buffer: Add rb_check_bpage in __rb_allocate_pages
      ring-buffer: Fix two typos in comments
      tracing: Drop unneeded assignment in ring_buffer_resize()
      tracing: Disable ftrace selftests when any tracer is running
      seq_buf: Avoid type mismatch for seq_buf_init
      ring-buffer: Fix a typo in function description
      ring-buffer: Remove obsolete rb_event_is_commit()
      ring-buffer: Add test to validate the time stamp deltas
      ftrace/documentation: Fix RST C code blocks
      tracing: Clean up after filter logic rewriting
      tracing: Remove the useless value assignment in test_create_synth_event()
      livepatch: Use the default ftrace_ops instead of REGS when ARGS is available
      ftrace/x86: Allow for arguments to be passed in to ftrace_regs by default
      ftrace: Have the callbacks receive a struct ftrace_regs instead of pt_regs
      MAINTAINERS: assign ./fs/tracefs to TRACING
      tracing: Fix some typos in comments
      ftrace: Remove unused varible 'ret'
      ring-buffer: Add recording of ring buffer recursion into recursed_functions
      ...
    09c0796a
    Merge tag 'trace-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
    Linus Torvalds authored
    Pull tracing updates from Steven Rostedt:
     "The major update to this release is that there's a new arch config
      option called CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS.
    
      Currently, only x86_64 enables it. All the ftrace callbacks now take a
      struct ftrace_regs instead of a struct pt_regs. If the architecture
      has HAVE_DYNAMIC_FTRACE_WITH_ARGS enabled, then the ftrace_regs will
      have enough information to read the arguments of the function being
      traced, as well as access to the stack pointer.
    
      This way, if a user (like live kernel patching) only cares about the
      arguments, then it can avoid using the heavier weight "regs" callback,
      that puts in enough information in the struct ftrace_regs to simulate
      a breakpoint exception (needed for kprobes).
    
      A new config option that audits the timestamps of the ftrace ring
      buffer at most every event recorded.
    
      Ftrace recursion protection has been cleaned up to move the protection
      to the callback itself (this saves on an extra function call for those
      callbacks).
    
      Perf now handles its own RCU protection and does not depend on ftrace
      to do it for it (saving on that extra function call).
    
      New debug option to add "recursed_functions" file to tracefs that
      lists all the places that triggered the recursion protection of the
      function tracer. This will show where things need to be fixed as
      recursion slows down the function tracer.
    
      The eval enum mapping updates done at boot up are now offloaded to a
      work queue, as it caused a noticeable pause on slow embedded boards.
    
      Various clean ups and last minute fixes"
    
    * tag 'trace-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (33 commits)
      tracing: Offload eval map updates to a work queue
      Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS"
      ring-buffer: Add rb_check_bpage in __rb_allocate_pages
      ring-buffer: Fix two typos in comments
      tracing: Drop unneeded assignment in ring_buffer_resize()
      tracing: Disable ftrace selftests when any tracer is running
      seq_buf: Avoid type mismatch for seq_buf_init
      ring-buffer: Fix a typo in function description
      ring-buffer: Remove obsolete rb_event_is_commit()
      ring-buffer: Add test to validate the time stamp deltas
      ftrace/documentation: Fix RST C code blocks
      tracing: Clean up after filter logic rewriting
      tracing: Remove the useless value assignment in test_create_synth_event()
      livepatch: Use the default ftrace_ops instead of REGS when ARGS is available
      ftrace/x86: Allow for arguments to be passed in to ftrace_regs by default
      ftrace: Have the callbacks receive a struct ftrace_regs instead of pt_regs
      MAINTAINERS: assign ./fs/tracefs to TRACING
      tracing: Fix some typos in comments
      ftrace: Remove unused varible 'ret'
      ring-buffer: Add recording of ring buffer recursion into recursed_functions
      ...
Loading