On Thu, Aug 02, 2012 at 11:38:26AM +0400, Andrew Vagin wrote:
> On Wed, Aug 01, 2012 at 02:10:59PM +0400, Jiri Olsa wrote:
> > From: Frederic Weisbecker <[email protected]> 
> > 
> > Introducing following bits to the the perf_event_attr struct:
> >   - exclude_callchain_kernel to filter out kernel callchain
> >     from the sample dump
> >   - exclude_callchain_user to filter out user callchain
> >     from the sample dump
> > 
> > We need to be able to disable standard user callchain dump
> > when we use the dwarf cfi callchain mode, because frame
> > pointer based user callchains are useless in this mode.
> > 
> > Implementing also exclude_callchain_kernel to have complete
> > set of options.
> > 
> > Signed-off-by: Frederic Weisbecker <[email protected]>
> > [ Added kernel callchains filtering ]
> > Signed-off-by: Jiri Olsa <[email protected]>
> > CC: Andrew Vagin <[email protected]>
> 
> Acked-by: Andrew Vagin <[email protected]>
> 
> 
> > diff --git a/kernel/events/core.c b/kernel/events/core.c
> > index c4582bb..0902d4a 100644
> > --- a/kernel/events/core.c
> > +++ b/kernel/events/core.c
> > @@ -4130,8 +4130,12 @@ void perf_prepare_sample(struct perf_event_header 
> > *header,
> >  
> >     if (sample_type & PERF_SAMPLE_CALLCHAIN) {
> >             int size = 1;
> > +           int kernel = !event->attr.exclude_callchain_kernel;
> > +           int user   = !event->attr.exclude_callchain_user;
> >  
> > -           data->callchain = perf_callchain(event, regs);
> > +           if (kernel || user)
> > +                   data->callchain = perf_callchain(event, regs,
> > +                                                    kernel, user);
> I am not sure, that we need two arguments kernel and user here,
> we can get them from event inside perf_callchain...

right.. I'll send an update with other fixies

thanks
jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to