Re: [PATCHv2 5/8] perf tools: Get precise_ip from the pmu config

From: Andi Kleen
Date: Thu Mar 07 2019 - 11:51:26 EST


On Thu, Mar 07, 2019 at 04:35:00PM +0100, Jiri Olsa wrote:
> On Tue, Mar 05, 2019 at 08:40:17AM -0800, Andi Kleen wrote:
> > On Tue, Mar 05, 2019 at 05:28:54PM +0100, Jiri Olsa wrote:
> > > On Tue, Mar 05, 2019 at 08:13:19AM -0800, Andi Kleen wrote:
> > > > On Tue, Mar 05, 2019 at 04:25:33PM +0100, Jiri Olsa wrote:
> > > > > Getting precise_ip field from the perf_pmu::max_precise
> > > > > config read from sysfs. If it's not available falling
> > > > > back to current detection function.
> > > >
> > > > max_precise depends on the event. This won't work for all
> > > > events. For example only instructions and cycles support
> > > > ppp
> > >
> > > I'm getting precise_ip=3 on mem-* events as well, that's why I
> > > was fixing this.. now it's not working for any event
> >
> > I don't think it means anything for mem-*
> >
> > There's some support for it on Goldmont plus for other events,
> > but it doesn't support mem-*. On big core it's only
> > for instructions and cycles, all implemented with the same
> > event. All other PEBS events only have two levels
> > switching between the two IPs.
>
> ok, so how about this, it's the change I posted merged with the patch

Still seems like a hack. Even though I don't know of a case that
would break now. But it would be better to have the precise probing
in the open retry loop, instead of trying to reinvent it here.

-Andi