• Linus Torvalds's avatar
    Merge tag 'trace-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 9b1f61d5
    Linus Torvalds authored
    Pull tracing updates from Steven Rostedt:
     "New feature:
    
       - A new "func-no-repeats" option in tracefs/options directory.
    
         When set the function tracer will detect if the current function
         being traced is the same as the previous one, and instead of
         recording it, it will keep track of the number of times that the
         function is repeated in a row. And when another function is
         recorded, it will write a new event that shows the function that
         repeated, the number of times it repeated and the time stamp of
         when the last repeated function occurred.
    
      Enhancements:
    
       - In order to implement the above "func-no-repeats" option, the ring
         buffer timestamp can now give the accurate timestamp of the event
         as it is being recorded, instead of having to record an absolute
         timestamp for all events. This helps the histogram code which no
         longer needs to waste ring buffer space.
    
       - New validation logic to make sure all trace events that access
         dereferenced pointers do so in a safe way, and will warn otherwise.
    
      Fixes:
    
       - No longer limit the PIDs of tasks that are recorded for
         "saved_cmdlines" to PID_MAX_DEFAULT (32768), as systemd now allows
         for a much larger range. This caused the mapping of PIDs to the
         task names to be dropped for all tasks with a PID greater than
         32768.
    
       - Change trace_clock_global() to never block. This caused a deadlock.
    
      Clean ups:
    
       - Typos, prototype fixes, and removing of duplicate or unused code.
    
       - Better management of ftrace_page allocations"
    
    * tag 'trace-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (32 commits)
      tracing: Restructure trace_clock_global() to never block
      tracing: Map all PIDs to command lines
      ftrace: Reuse the output of the function tracer for func_repeats
      tracing: Add "func_no_repeats" option for function tracing
      tracing: Unify the logic for function tracing options
      tracing: Add method for recording "func_repeats" events
      tracing: Add "last_func_repeats" to struct trace_array
      tracing: Define new ftrace event "func_repeats"
      tracing: Define static void trace_print_time()
      ftrace: Simplify the calculation of page number for ftrace_page->records some more
      ftrace: Store the order of pages allocated in ftrace_page
      tracing: Remove unused argument from "ring_buffer_time_stamp()
      tracing: Remove duplicate struct declaration in trace_events.h
      tracing: Update create_system_filter() kernel-doc comment
      tracing: A minor cleanup for create_system_filter()
      kernel: trace: Mundane typo fixes in the file trace_events_filter.c
      tracing: Fix various typos in comments
      scripts/recordmcount.pl: Make vim and emacs indent the same
      scripts/recordmcount.pl: Make indent spacing consistent
      tracing: Add a verifier to check string pointers for trace events
      ...
    9b1f61d5
io_uring.h 11.3 KB