RE: [PATCH V3 3/3] perf tools: Construct LBR call chain

From: Liang, Kan
Date: Tue Nov 18 2014 - 09:37:56 EST




> On Tue, Nov 18, 2014 at 03:13:50PM +0900, Namhyung Kim wrote:
>
> SNIP
>
> > >> > + * in "from" register, while the callee is
> stored
> > >> > + * in "to" register.
> > >> > + * For example, there is a call stack
> > >> > + * "A"->"B"->"C"->"D".
> > >> > + * The LBR registers will recorde like
> > >> > + * "C"->"D", "B"->"C", "A"->"B".
> > >> > + * So only the first "to" register and all
> "from"
> > >> > + * registers are needed to construct the
> whole
> > >> stack.
> > >> > + */
> > >>
> > >> Andi is using some sanity checks:
> > >> http://marc.info/?l=linux-kernel&m=141584447819894&w=2
> > >> I guess this could be applied in here, once his patch gets in.
> > >>
> > >
> > > Are you suggesting me to remove the comments, or rebase the whole
> > > patch to Andi's patch once it's merged?
> > >
> > > The branch history in Andi's patch is different as the call stack,
> > > although they are both from LBR.
> > > Andi's branch history recording branch records for taken branches,
> > > interrupts, and exceptions.
> > > While the LBR call stack records for the call stack.
> >
> > Right. And branch history can overlap with normal callchains so
> > additional check in there is to remove duplication. While LBR call
> > stack is separated to user only so there should be no overlap.
>
> hum, it seemed to me like the remove_loops function could be used for
> this one as well.. but anyway I meant that this can be introduced later after
> Andi's change gets in

I see. I will apply Andi's remove_loops.

Thanks,
Kan

>
> thanks,
> jirka
--
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/