Re: [PATCH 3/3] tracing: Rewrite filter logic to be simpler and faster
From: Steven Rostedt
Date: Tue Mar 13 2018 - 10:12:51 EST
On Tue, 13 Mar 2018 11:14:01 +0100
Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> > Jiri, If you apply the below, does it fix it for you?
>
> yes, the crash is gone and I can set filter ftrace/function,
Great!
> but I'm still having some issues put that filter through perf
>
> # perf record -e ftrace:function --filter "ip == 0xffffffffa41e8490" ls
>
> but I might be just missing something.. it's been a while ;-) I'm looking to that
I have to ask. Did that work with the old code? The ftrace filter was
special in the old code and I tried to simulate it in the new code.
I'm not sure I checked if ip can take an address, but from what the code
looked like, it wouldn't. It looked like it required a name of a
function. Something that gets passed into "set_ftrace_filter" which is
not an address.
So instead of doing something like:
perf record -e ftrace:function --filter "ip == 0xffffffff810ccfa0" ls
You would need to do
perf record -e ftrace:function --filter "ip == schedule_tail" ls
because perf doesn't use the filter for the function, it uses the
ftrace_ops->hash tables. If it would simply take the address, we could
just use the trace_events_filter logic, and not make it a special case.
-- Steve