lkml.org 
[lkml]   [2011]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC 3/4] perf, ftrace: Add new perf ioctl for function trace filter
On Mon, Jul 18, 2011 at 05:12:33PM +0200, Frederic Weisbecker wrote:
> On Mon, Jul 11, 2011 at 03:22:55PM +0200, Jiri Olsa wrote:
> > As the amount of kernel functions obtained by the ftrace:function tracepoint
> > is quite big, it's desirable to be able to set the filter on the ftrace
> > level.
> >
> > Added PERF_EVENT_IOC_SET_FTRACE ioctl to be able to specify function filter
> > for perf event. The interface is the same as for the set_ftrace_filter file.
> >
> > Also the same string parser is used as for the set_ftrace_filter file.
>
> I'm not sure I understand why an ioctl is needed for that.
> Why not using the ftrace filter?
>
> The first idea was to do something like this:
>
> ip == func1 || ip == func2 || ....

The part where I got stuck is when you start to combine the fields
in the filter like:

ip == func1 || ip_parent != func2
ip == func1 || (ip == func2 && ip_parent != func3)
Which is ok when all functions are enabled and ip/parent_ip fields
are treated as values. But I'd need enable proper set of functions
based on above filter parsing.. which might not be that easy :)

So I thought it'd be easier to have the filter as above,
plus you could specify the amount of traced functions with
ioctl command.

>
> But that makes a too long expression. So I thought we
> could bring support for the "+" operator and have expressions
> like:
>
> ip == func1 + func2 + func3 + ....
>
> ip == !func1

So would you like to have just simple filter for function event?
(embedded into the current event filter..) like:

ip == func1 + func2 + func3 +

Support just one 'ip' field and whatever we got in the parameter
we put into the ftrace filter.. ?

thanks,
jirka


\
 
 \ /
  Last update: 2011-07-19 12:01    [from the cache]
©2003-2011 Jasper Spaans