public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] probes updates for v6.10
@ 2024-05-16  0:52 Masami Hiramatsu
  2024-05-18  1:54 ` pr-tracker-bot
  2024-05-18  2:12 ` Linus Torvalds
  0 siblings, 2 replies; 7+ messages in thread
From: Masami Hiramatsu @ 2024-05-16  0:52 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Andrii Nakryiko, Jiri Olsa, Jonathan Haslam, Kui-Feng Lee,
	Masami Hiramatsu, Stephen Brennan, Ye Bin, Steven Rostedt,
	Masami Hiramatsu, linux-kernel

Hi Linus,

Probes updates for v6.10:

- tracing/probes: Adding new pseudo-types %pd and %pD support for dumping
  dentry name from 'struct dentry *' and file name from 'struct file *'.

- uprobes: Some performance optimizations have been done.
 . 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: Removes non-fatal warning messages when tracing stack from BPF
  and skip rcu_is_watching() validation in rethook if possible.

- objpool: Optimizing 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.


Please pull the latest probes-v6.10 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
probes-v6.10

Tag SHA1: 9c42dca969de36a7aaa9573844a863bb306dcafc
Head SHA1: 1a7d0890dd4a502a202aaec792a6c04e6e049547


Andrii Nakryiko (7):
      uprobes: encapsulate preparation of uprobe args buffer
      uprobes: prepare uprobe args buffer lazily
      uprobes: add speculative lockless system-wide uprobe filter check
      ftrace: make extra rcu_is_watching() validation check optional
      rethook: honor CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING in rethook_try_get()
      objpool: enable inlining objpool_push() and objpool_pop() operations
      objpool: cache nr_possible_cpus() and avoid caching nr_cpu_ids

Jiri Olsa (1):
      fprobe: Add entry/exit callbacks types

Jonathan Haslam (1):
      uprobes: reduce contention on uprobes_tree access

Kui-Feng Lee (1):
      rethook: Remove warning messages printed for finding return address of a frame.

Masami Hiramatsu (Google) (1):
      selftests/ftrace: Fix required features for VFS type test case

Stephen Brennan (1):
      kprobe/ftrace: bail out if ftrace was killed

Ye Bin (5):
      tracing/probes: support '%pd' type for print struct dentry's name
      tracing/probes: support '%pD' type for print struct file's name
      Documentation: tracing: add new type '%pd' and '%pD' for kprobe
      selftests/ftrace: add kprobe test cases for VFS type "%pd" and "%pD"
      selftests/ftrace: add fprobe test cases for VFS type "%pd" and "%pD"

----
 Documentation/trace/kprobetrace.rst                |   8 +-
 arch/csky/kernel/probes/ftrace.c                   |   3 +
 arch/loongarch/kernel/ftrace_dyn.c                 |   3 +
 arch/parisc/kernel/ftrace.c                        |   3 +
 arch/powerpc/kernel/kprobes-ftrace.c               |   3 +
 arch/riscv/kernel/probes/ftrace.c                  |   3 +
 arch/s390/kernel/ftrace.c                          |   3 +
 arch/x86/kernel/kprobes/ftrace.c                   |   3 +
 include/linux/fprobe.h                             |  18 ++--
 include/linux/kprobes.h                            |   7 ++
 include/linux/objpool.h                            | 105 ++++++++++++++++++-
 include/linux/trace_recursion.h                    |   2 +-
 kernel/events/uprobes.c                            |  22 ++--
 kernel/kprobes.c                                   |   6 ++
 kernel/trace/Kconfig                               |  13 +++
 kernel/trace/ftrace.c                              |   1 +
 kernel/trace/rethook.c                             |   4 +-
 kernel/trace/trace.c                               |   2 +-
 kernel/trace/trace_fprobe.c                        |   6 ++
 kernel/trace/trace_kprobe.c                        |   6 ++
 kernel/trace/trace_probe.c                         |  63 ++++++++++++
 kernel/trace/trace_probe.h                         |   2 +
 kernel/trace/trace_uprobe.c                        | 103 +++++++++++--------
 lib/objpool.c                                      | 112 ++-------------------
 .../ftrace/test.d/dynevent/fprobe_args_vfs.tc      |  41 ++++++++
 .../ftrace/test.d/kprobe/kprobe_args_vfs.tc        |  40 ++++++++
 26 files changed, 406 insertions(+), 176 deletions(-)
 create mode 100644 tools/testing/selftests/ftrace/test.d/dynevent/fprobe_args_vfs.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_vfs.tc
-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-05-18 23:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-16  0:52 [GIT PULL] probes updates for v6.10 Masami Hiramatsu
2024-05-18  1:54 ` pr-tracker-bot
2024-05-18  2:12 ` Linus Torvalds
2024-05-18  2:23   ` Stephen Brennan
2024-05-18 14:38   ` Masami Hiramatsu
2024-05-18 15:55     ` Linus Torvalds
2024-05-18 23:46       ` Masami Hiramatsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox