RE: [PATCH V5 14/16] perf, x86: enable LBR callstack when recording callchain
From: Liang, Kan
Date: Tue Oct 07 2014 - 12:04:26 EST
>
> On Tue, Oct 07, 2014 at 03:00:43AM +0000, Liang, Kan wrote:
> >
> >
> > >
> > > On Wed, Sep 10, 2014 at 10:09:11AM -0400, kan.liang@xxxxxxxxx wrote:
> > > > From: Kan Liang <kan.liang@xxxxxxxxx>
> > > >
> > > > If a task specific event wants user space callchain but does not
> > > > want branch stack sampling, enable the LBR call stack facility implicitly.
> > > > The LBR call stack facility can help perf to get user space
> > > > callchain in case of there is no frame pointer.
> > > >
> > > > Note: this feature only affects how to get user callchain. The
> > > > kernel callchain is always got by frame pointers.
> > >
> > > Yeah, don't like this either. Suppose you have sane userspace (with
> > > framepointers enabled) then you're now loosing the better option.
> >
> > FP is the first option. This patch tries to enable LBR call stack facility implicitly.
> > Only when FP disabled or failed, we try to use LBR call stack.
> > Please refer to the previous patch https://lkml.org/lkml/2014/9/10/376
>
> Still makes for an entirely unpredictable situation. That way you never quite
> know where your data came from.
But the problem is that we don't know if FP works in advance. We can only
check during runtime. So we have to keep the LBR running.
The process is fixed. The FP will be checked first.
Only FP failed, LBR data is used.
If the user want to know where the data come from, we may implement
a flag for user perf tool.
Kan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/