From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrii Nakryiko <andrii@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
Jonathan Haslam <jonathan.haslam@gmail.com>,
Kui-Feng Lee <thinker.li@gmail.com>,
Masami Hiramatsu (Google) <mhiramat@kernel.org>,
Stephen Brennan <stephen.s.brennan@oracle.com>,
Ye Bin <yebin10@huawei.com>, Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
linux-kernel@vger.kernel.org
Subject: [GIT PULL] probes updates for v6.10
Date: Thu, 16 May 2024 09:52:16 +0900 [thread overview]
Message-ID: <20240516095216.ac9a0fd13357450cc5f2e491@kernel.org> (raw)
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>
next reply other threads:[~2024-05-16 0:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-16 0:52 Masami Hiramatsu [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240516095216.ac9a0fd13357450cc5f2e491@kernel.org \
--to=mhiramat@kernel.org \
--cc=andrii@kernel.org \
--cc=jolsa@kernel.org \
--cc=jonathan.haslam@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=stephen.s.brennan@oracle.com \
--cc=thinker.li@gmail.com \
--cc=torvalds@linux-foundation.org \
--cc=yebin10@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome