From: Masami Hiramatsu <mhiramat@kernel.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Jiri Olsa <jolsa@redhat.com>,
Alan Maguire <alan.maguire@oracle.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Sven Schnelle <svens@linux.ibm.com>,
bpf@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [RFC PATCH] tracing: BTF testing for kprobe-events
Date: Thu, 23 Sep 2021 21:39:43 +0900 [thread overview]
Message-ID: <163240078318.34105.12819521680435948398.stgit@devnote2> (raw)
Hi Steve,
Here I share my testing patch of the BTF for kprobe events.
Currently this only allow user to specify '$$args' for
tracing all arguments of the function. This is only
avaialbe if
- the probe point is on the function entry
- the kernel is compiled with BTF (CONFIG_DEBUG_INFO_BTF)
- the kernel is enables BPF (CONFIG_BPF_SYSCALL)
And Special thanks to Sven! Most of BTF handling part of
this patch comes from his patch [1]
[1] https://stackframe.org/0001-ftrace-arg-hack.patch
What I thought while coding this were;
- kernel/bpf/btf.c can be moved under lib/ so that
the other subsystems can reuse it, independent
from BPF. (Also, this should depends on CONFIG_DEBUG_INFO_BTF)
- some more utility functions can be exposed.
e.g. I copied btf_type_int() from btf.c
- If there are more comments for the BTF APIs, it will
be more useful...
- Overall, the BTF is easy to understand for who
already understand DWARF. Great work!
- I think I need 'ptr' and 'bool' types for fetcharg types.
Anyway, this is just for testing. I have to add some
more cleanup, features and documentations, etc.
Thank you,
---
Masami Hiramatsu (1):
tracing/kprobe: Support $$args for function entry
kernel/trace/trace_kprobe.c | 60 ++++++++++++++++++++++++-
kernel/trace/trace_probe.c | 105 +++++++++++++++++++++++++++++++++++++++++++
kernel/trace/trace_probe.h | 5 ++
3 files changed, 168 insertions(+), 2 deletions(-)
--
Masami Hiramatsu (Linaro) <mhiramat@kernel.org>
next reply other threads:[~2021-09-23 12:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-23 12:39 Masami Hiramatsu [this message]
2021-09-23 12:39 ` [RFC PATCH] tracing/kprobe: Support $$args for function entry Masami Hiramatsu
2021-09-24 17:51 ` Alan Maguire
2021-09-25 14:15 ` Masami Hiramatsu
2021-10-11 22:23 ` [RFC PATCH] tracing: BTF testing for kprobe-events Steven Rostedt
2021-10-13 12:52 ` 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=163240078318.34105.12819521680435948398.stgit@devnote2 \
--to=mhiramat@kernel.org \
--cc=alan.maguire@oracle.com \
--cc=bpf@vger.kernel.org \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=svens@linux.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.