• Linus Torvalds's avatar
    Merge tag 'trace-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · cdf072ac
    Linus Torvalds authored
    Pull tracing updates from Steven Rostedt:
     "Major changes:
    
       - Changed location of tracing repo from personal git repo to:
         git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
    
       - Added Masami Hiramatsu as co-maintainer
    
       - Updated MAINTAINERS file to separate out FTRACE as it is more than
         just TRACING.
    
      Minor changes:
    
       - Added Mark Rutland as FTRACE reviewer
    
       - Updated user_events to make it on its way to remove the BROKEN tag.
         The changes should now be acceptable but will run it through a
         cycle and hopefully we can remove the BROKEN tag next release.
    
       - Added filtering to eprobes
    
       - Added a delta time to the benchmark trace event
    
       - Have the histogram and filter callbacks called via a switch
         statement instead of indirect functions. This speeds it up to avoid
         retpolines.
    
       - Add a way to wake up ring buffer waiters waiting for the ring
         buffer to fill up to its watermark.
    
       - New ioctl() on the trace_pipe_raw file to wake up ring buffer
         waiters.
    
       - Wake up waiters when the ring buffer is disabled. A reader may
         block when the ring buffer is disabled, but if it was blocked when
         the ring buffer is disabled it should then wake up.
    
      Fixes:
    
       - Allow splice to read partially read ring buffer pages. This fixes
         splice never moving forward.
    
       - Fix inverted compare that made the "shortest" ring buffer wait
         queue actually the longest.
    
       - Fix a race in the ring buffer between resetting a page when a
         writer goes to another page, and the reader.
    
       - Fix ftrace accounting bug when function hooks are added at boot up
         before the weak functions are set to "disabled".
    
       - Fix bug that freed a user allocated snapshot buffer when enabling a
         tracer.
    
       - Fix possible recursive locks in osnoise tracer
    
       - Fix recursive locking direct functions
    
       - Other minor clean ups and fixes"
    
    * tag 'trace-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (44 commits)
      ftrace: Create separate entry in MAINTAINERS for function hooks
      tracing: Update MAINTAINERS to reflect new tracing git repo
      tracing: Do not free snapshot if tracer is on cmdline
      ftrace: Still disable enabled records marked as disabled
      tracing/user_events: Move pages/locks into groups to prepare for namespaces
      tracing: Add Masami Hiramatsu as co-maintainer
      tracing: Remove unused variable 'dups'
      MAINTAINERS: add myself as a tracing reviewer
      ring-buffer: Fix race between reset page and reading page
      tracing/user_events: Update ABI documentation to align to bits vs bytes
      tracing/user_events: Use bits vs bytes for enabled status page data
      tracing/user_events: Use refcount instead of atomic for ref tracking
      tracing/user_events: Ensure user provided strings are safely formatted
      tracing/user_events: Use WRITE instead of READ for io vector import
      tracing/user_events: Use NULL for strstr checks
      tracing: Fix spelling mistake "preapre" -> "prepare"
      tracing: Wake up waiters when tracing is disabled
      tracing: Add ioctl() to force ring buffer waiters to wake up
      tracing: Wake up ring buffer waiters on closing of the file
      ring-buffer: Add ring_buffer_wake_waiters()
      ...
    cdf072ac
ftrace.c 200 KB