Re: [PATCH v7 11/18] perf tools: add mem access sampling core support

From: Jiri Olsa
Date: Wed Mar 27 2013 - 10:23:39 EST


On Wed, Mar 27, 2013 at 03:14:25PM +0100, Jiri Olsa wrote:
> On Thu, Jan 24, 2013 at 04:10:35PM +0100, Stephane Eranian wrote:
>
> SNIP
>
> >
> > +static void ip__resolve_data(struct machine *self, struct thread *thread,
> > + u8 m,
> > + struct addr_map_symbol *ams,
> > + u64 addr)
> > +{
> > + struct addr_location al;
> > +
> > + memset(&al, 0, sizeof(al));
> > +
> > + thread__find_addr_location(thread, self, m, MAP__VARIABLE, addr, &al,
> > + NULL);
> > + ams->addr = addr;
> > + ams->al_addr = al.addr;
> > + ams->sym = al.sym;
> > + ams->map = al.map;
> > +}
> > +
> > +struct mem_info *machine__resolve_mem(struct machine *self,
> > + struct thread *thr,
> > + struct perf_sample *sample,
> > + u8 cpumode)
> > +{
> > + struct mem_info *mi;
> > +
> > + mi = calloc(1, sizeof(struct mem_info));
> > + if (!mi)
> > + return NULL;
> > +
> > + ip__resolve_ams(self, thr, &mi->iaddr, sample->ip);
> > + ip__resolve_data(self, thr, cpumode, &mi->daddr, sample->addr);
>
> question, should this be the other way around? like:
>
> ip__resolve_ams(machine, thr, &mi->daddr, sample->addr);
> ip__resolve_data(machine, thr, cpumode, &mi->iaddr, sample->ip);

ugh, I missed the MAP__VARIABLE/MAP__FUNCTION difference there, thanks Arnaldo! ;-)

still, no need to guess the cpumode for ip and guess it for data?

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/