• Linus Torvalds's avatar
    Merge tag 'probes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 70a66320
    Linus Torvalds authored
    Pull probes updates from Masami Hiramatsu:
    
     - tracing/probes: Add new pseudo-types %pd and %pD support for dumping
       dentry name from 'struct dentry *' and file name from 'struct file *'
    
     - uprobes performance optimizations:
        - Speed up the BPF uprobe event by delaying the fetching of the
          uprobe event arguments that are not used in BPF
        - Avoid locking by speculatively checking whether uprobe event is
          valid
        - Reduce lock contention by using read/write_lock instead of
          spinlock for uprobe list operation. This improved BPF uprobe
          benchmark result 43% on average
    
     - rethook: Remove non-fatal warning messages when tracing stack from
       BPF and skip rcu_is_watching() validation in rethook if possible
    
     - objpool: Optimize objpool (which is used by kretprobes and fprobe as
       rethook backend storage) by inlining functions and avoid caching
       nr_cpu_ids because it is a const value
    
     - fprobe: Add entry/exit callbacks types (code cleanup)
    
     - kprobes: Check ftrace was killed in kprobes if it uses ftrace
    
    * tag 'probes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
      kprobe/ftrace: bail out if ftrace was killed
      selftests/ftrace: Fix required features for VFS type test case
      objpool: cache nr_possible_cpus() and avoid caching nr_cpu_ids
      objpool: enable inlining objpool_push() and objpool_pop() operations
      rethook: honor CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING in rethook_try_get()
      ftrace: make extra rcu_is_watching() validation check optional
      uprobes: reduce contention on uprobes_tree access
      rethook: Remove warning messages printed for finding return address of a frame.
      fprobe: Add entry/exit callbacks types
      selftests/ftrace: add fprobe test cases for VFS type "%pd" and "%pD"
      selftests/ftrace: add kprobe test cases for VFS type "%pd" and "%pD"
      Documentation: tracing: add new type '%pd' and '%pD' for kprobe
      tracing/probes: support '%pD' type for print struct file's name
      tracing/probes: support '%pd' type for print struct dentry's name
      uprobes: add speculative lockless system-wide uprobe filter check
      uprobes: prepare uprobe args buffer lazily
      uprobes: encapsulate preparation of uprobe args buffer
    70a66320
kprobes.c 74.4 KB