Re: [tip:perfcounters/core] perf report: Deal with maps

Arnaldo Carvalho de Melo
2009-06-05T15:02:38Z

Em Fri, Jun 05, 2009 at 04:06:24PM +0200, Peter Zijlstra escreveu:
> On Fri, 2009-06-05 at 10:57 -0300, Arnaldo Carvalho de Melo wrote:
> > Em Fri, Jun 05, 2009 at 01:21:54PM +0000, tip-bot for Peter Zijlstra escreveu:
> > > Commit-ID: fc54db5105d01ad691a7d747064c7890e17f936c
> > > Gitweb: http://git.kernel.org/tip/fc54db5105d01ad691a7d747064c7890e17f936c
> > > Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > > AuthorDate: Fri, 5 Jun 2009 14:04:59 +0200
> > > Committer: Ingo Molnar <mingo@elte.hu>
> > > CommitDate: Fri, 5 Jun 2009 14:46:41 +0200
> > >
> > > perf report: Deal with maps
> > >
> > > In order to deal with [vdso] maps generalize the ip->symbol path
> > > a bit and allow to override some bits with custom functions.
> > >
> > > Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > > Cc: Mike Galbraith <efault@gmx.de>
> > > Cc: Paul Mackerras <paulus@samba.org>
> > > Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> > > LKML-Reference: <new-submission>
> > > Signed-off-by: Ingo Molnar <mingo@elte.hu>
> > >
> > >
> > > ---
> > > Documentation/perf_counter/builtin-report.c | 37 +++++++++++++++++++++++++-
> > > Documentation/perf_counter/util/symbol.c | 1 +
> > > Documentation/perf_counter/util/symbol.h | 1 +
> > > 3 files changed, 37 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/Documentation/perf_counter/builtin-report.c b/Documentation/perf_counter/builtin-report.c
> > > index eb5424f..9783d1e 100644
> > > --- a/Documentation/perf_counter/builtin-report.c
> > > +++ b/Documentation/perf_counter/builtin-report.c
> > > @@ -79,6 +79,7 @@ typedef union event_union {
> > >
> > > static LIST_HEAD(dsos);
> > > static struct dso *kernel_dso;
> > > +static struct dso *vdso;
> > >
> > > static void dsos__add(struct dso *dso)
> > > {
> > > @@ -136,6 +137,11 @@ static void dsos__fprintf(FILE *fp)
> > > dso__fprintf(pos, fp);
> > > }
> > >
> > > +static struct symbol *vdso__find_symbol(struct dso *dso, uint64_t ip)
> > > +{
> > > + return dso__find_symbol(kernel_dso, ip);
> > > +}
> >
> > Cut'n'paste error? s/kernel_dso/vdso/g
>
> Ah, no, intentional cheating ;-)
>
> the kernel dso includes the vdso symbols

OK, a comment would be nice then, will add it if you don't do it first :)

- Arnaldo