• Linus Torvalds's avatar
    Merge tag 'trace-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · aa1a8ce5
    Linus Torvalds authored
    Pull tracing updates from Steven Rostedt:
     "New tracing features:
    
       - The ring buffer is no longer disabled when reading the trace file.
    
         The trace_pipe file was made to be used for live tracing and
         reading as it acted like the normal producer/consumer. As the trace
         file would not consume the data, the easy way of handling it was to
         just disable writes to the ring buffer.
    
         This came to a surprise to the BPF folks who complained about lost
         events due to reading. This is no longer an issue. If someone wants
         to keep the old disabling there's a new option "pause-on-trace"
         that can be set.
    
       - New set_ftrace_notrace_pid file. PIDs in this file will not be
         traced by the function tracer.
    
         Similar to set_ftrace_pid, which makes the function tracer only
         trace those tasks with PIDs in the file, the set_ftrace_notrace_pid
         does the reverse.
    
       - New set_event_notrace_pid file. PIDs in this file will cause events
         not to be traced if triggered by a task with a matching PID.
    
         Similar to the set_event_pid file but will not be traced. Note,
         sched_waking and sched_switch events may still be traced if one of
         the tasks referenced by those events contains a PID that is allowed
         to be traced.
    
      Tracing related features:
    
       - New bootconfig option, that is attached to the initrd file.
    
         If bootconfig is on the command line, then the initrd file is
         searched looking for a bootconfig appended at the end.
    
       - New GPU tracepoint infrastructure to help the gfx drivers to get
         off debugfs (acked by Greg Kroah-Hartman)
    
      And other minor updates and fixes"
    
    * tag 'trace-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (27 commits)
      tracing: Do not allocate buffer in trace_find_next_entry() in atomic
      tracing: Add documentation on set_ftrace_notrace_pid and set_event_notrace_pid
      selftests/ftrace: Add test to test new set_event_notrace_pid file
      selftests/ftrace: Add test to test new set_ftrace_notrace_pid file
      tracing: Create set_event_notrace_pid to not trace tasks
      ftrace: Create set_ftrace_notrace_pid to not trace tasks
      ftrace: Make function trace pid filtering a bit more exact
      ftrace/kprobe: Show the maxactive number on kprobe_events
      tracing: Have the document reflect that the trace file keeps tracing enabled
      ring-buffer/tracing: Have iterator acknowledge dropped events
      tracing: Do not disable tracing when reading the trace file
      ring-buffer: Do not disable recording when there is an iterator
      ring-buffer: Make resize disable per cpu buffer instead of total buffer
      ring-buffer: Optimize rb_iter_head_event()
      ring-buffer: Do not die if rb_iter_peek() fails more than thrice
      ring-buffer: Have rb_iter_head_event() handle concurrent writer
      ring-buffer: Add page_stamp to iterator for synchronization
      ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance()
      ring-buffer: Have ring_buffer_empty() not depend on tracing stopped
      tracing: Save off entry when peeking at next entry
      ...
    aa1a8ce5
ftrace.c 175 KB