[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240330153722.65104301@gandalf.local.home>
Date: Sat, 30 Mar 2024 15:37:22 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: 梦龙董 <dongmenglong.8@...edance.com>
Cc: Alexei Starovoitov <alexei.starovoitov@...il.com>, Jiri Olsa
<jolsa@...nel.org>, Andrii Nakryiko <andrii@...nel.org>, Alexei Starovoitov
<ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>, Martin KaFai Lau
<martin.lau@...ux.dev>, Eddy Z <eddyz87@...il.com>, Song Liu
<song@...nel.org>, Yonghong Song <yonghong.song@...ux.dev>, John Fastabend
<john.fastabend@...il.com>, KP Singh <kpsingh@...nel.org>, Stanislav
Fomichev <sdf@...gle.com>, Hao Luo <haoluo@...gle.com>, Alexander Gordeev
<agordeev@...ux.ibm.com>, Christian Borntraeger
<borntraeger@...ux.ibm.com>, Sven Schnelle <svens@...ux.ibm.com>, "David S.
Miller" <davem@...emloft.net>, David Ahern <dsahern@...nel.org>, Dave
Hansen <dave.hansen@...ux.intel.com>, X86 ML <x86@...nel.org>, Mathieu
Desnoyers <mathieu.desnoyers@...icios.com>, Quentin Monnet
<quentin@...valent.com>, bpf <bpf@...r.kernel.org>, linux-arm-kernel
<linux-arm-kernel@...ts.infradead.org>, LKML
<linux-kernel@...r.kernel.org>, linux-riscv
<linux-riscv@...ts.infradead.org>, linux-s390 <linux-s390@...r.kernel.org>,
Network Development <netdev@...r.kernel.org>,
linux-trace-kernel@...r.kernel.org, "open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@...r.kernel.org>, linux-stm32@...md-mailman.stormreply.com
Subject: Re: [External] Re: [PATCH bpf-next v2 1/9] bpf: tracing: add
support to record and check the accessed args
On Sat, 30 Mar 2024 11:18:29 +0800
梦龙董 <dongmenglong.8@...edance.com> wrote:
> > If you really want to have thousands of functions, why not just register it
> > with ftrace itself. It will give you the arguments via the ftrace_regs
> > structure. Can't you just register a program as the callback?
> >
>
> Ennn...I don't understand. The main purpose for
> me to use TRACING is:
>
> 1. we can directly access the memory, which is more
> efficient.
I'm not sure what you mean by the above. Access what memory?
> 2. we can obtain the function args in FEXIT, which
> kretprobe can't do it. And this is the main reason.
I didn't mention kretprobe. If you need access to the exit of the function,
you can use Masami's fgraph update.
fentry -> ftrace_trampoline -> your_code
For fgraph:
fentry -> ftrace_trampoline -> fgraph [sets up return call] -> your_entry_code
function ret -> fgraph_ret_handler -> your_exit_code
And you will be able to pass data from the entry to the exit code,
including parameters.
-- Steve
Powered by blists - more mailing lists