Thread (86 messages) 86 messages, 9 authors, 2025-08-08

Re: [PATCH bpf-next v2 04/18] ftrace: add reset_ftrace_direct_ips

From: Menglong Dong <hidden>
Date: 2025-07-08 01:27:00
Also in: linux-trace-kernel, lkml

On Tue, Jul 8, 2025 at 2:52 AM Steven Rostedt [off-list ref] wrote:
On Fri, 4 Jul 2025 09:54:52 +0800
Menglong Dong [off-list ref] wrote:
quoted
quoted
What exactly do you mean by "reset"?
It means to reset the filter hash of the ftrace_ops to ips. In
the origin logic, the filter hash of a direct ftrace_ops will not
be changed. However, in the tracing-multi case, there are
multi functions in the filter hash and can change. This function
is used to change the filter hash of a direct ftrace_ops.
The above still doesn't make sense to me.

Can you explain more what exactly you are doing at a higher level? To
me "reset" means to set back to what it originally was (which usually
is zero or nothing).
Yeah, with pleasure. When we need to update the functions to filter
for a ftrace_ops, we can use ftrace_set_filter_ips(), which is able to
add, remove and reset the functions to filter.

However, we don't have a function to do similar things for a direct
ftrace_ops. What reset_ftrace_direct_ips() do is the same as
ftrace_set_filter_ips() when the "reset" argument of it is 1, and that's
why I call it "reset". Or we can name it something else, such as "update"?

The use case is for the global trampoline. BPF global trampoline has
a direct ftrace_ops. When we attach new tracing-multi progs to the
new kernel functions, we need to add these functions to the ftrace_ops
of the bpf global trampoline.

The "reset_ftrace_direct_ips" can do both adding and removing things
for the direct ftrace_ops. We will get all the functions for the global
trampoline, and "reset" the functions to filter of the ftrace_ops to them.

Hoping I expressed it clearly :/

Thanks!
Menglong Dong


-- Steve
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help