• Linus Torvalds's avatar
    Merge tag 'trace-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 1bc19105
    Linus Torvalds authored
    Pull tracing updates from Steven Rostedt:
    
     - New user_events interface. User space can register an event with the
       kernel describing the format of the event. Then it will receive a
       byte in a page mapping that it can check against. A privileged task
       can then enable that event like any other event, which will change
       the mapped byte to true, telling the user space application to start
       writing the event to the tracing buffer.
    
     - Add new "ftrace_boot_snapshot" kernel command line parameter. When
       set, the tracing buffer will be saved in the snapshot buffer at boot
       up when the kernel hands things over to user space. This will keep
       the traces that happened at boot up available even if user space boot
       up has tracing as well.
    
     - Have TRACE_EVENT_ENUM() also update trace event field type
       descriptions. Thus if a static array defines its size with an enum,
       the user space trace event parsers can still know how to parse that
       array.
    
     - Add new TRACE_CUSTOM_EVENT() macro. This acts the same as the
       TRACE_EVENT() macro, but will attach to an existing tracepoint. This
       will make one tracepoint be able to trace different content and not
       be stuck at only what the original TRACE_EVENT() macro exports.
    
     - Fixes to tracing error logging.
    
     - Better saving of cmdlines to PIDs when tracing (use the wakeup events
       for mapping).
    
    * tag 'trace-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (30 commits)
      tracing: Have type enum modifications copy the strings
      user_events: Add trace event call as root for low permission cases
      tracing/user_events: Use alloc_pages instead of kzalloc() for register pages
      tracing: Add snapshot at end of kernel boot up
      tracing: Have TRACE_DEFINE_ENUM affect trace event types as well
      tracing: Fix strncpy warning in trace_events_synth.c
      user_events: Prevent dyn_event delete racing with ioctl add/delete
      tracing: Add TRACE_CUSTOM_EVENT() macro
      tracing: Move the defines to create TRACE_EVENTS into their own files
      tracing: Add sample code for custom trace events
      tracing: Allow custom events to be added to the tracefs directory
      tracing: Fix last_cmd_set() string management in histogram code
      user_events: Fix potential uninitialized pointer while parsing field
      tracing: Fix allocation of last_cmd in last_cmd_set()
      user_events: Add documentation file
      user_events: Add sample code for typical usage
      user_events: Add self-test for validator boundaries
      user_events: Add self-test for perf_event integration
      user_events: Add self-test for dynamic_events integration
      user_events: Add self-test for ftrace integration
      ...
    1bc19105
trace.h 64 KB