Re: [GIT PULL 0/8] Annotation weekly ponies delivery

From: Namhyung Kim
Date: Mon May 14 2012 - 11:06:31 EST


2012-05-14 (ì), 13:55 +0200, Ingo Molnar:
> * Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> > On Sat, 2012-05-12 at 13:40 -0700, Linus Torvalds wrote:
> > > The whole "-e cycles:pp" doesn't work any more. I don't get any nice
> > > PEBS information, I get the totally useless irq-based profiling.
> > >
> > > The difference for a "make -j" profile is quite stunning:
> > >
> > > Doing "perf record -f -e cycles:pp -F 20000 make -j"
> > >
> > > - my current git:
> > >
> > > [ perf record: Woken up 47 times to write data ]
> > > [ perf record: Captured and wrote 11.890 MB perf.data (~519462 samples) ]
> > >
> > > - with the above tree pulled into my current git tree (but compiling
> > > the same old tree):
> > >
> > > [ perf record: Woken up 1 times to write data ]
> > > [ perf record: Captured and wrote 0.031 MB perf.data (~1375 samples) ]
> >
> > The output simply suggests we're not getting enough samples
> > not that PEBS isn't working, in fact I can could reproduce
> > without using PEBS.
> >
> > This bisected to the below commit, the code has since been
> > changed again and all that evlist stuff gives me a head-ache.
> > Acme, Namhyung ?
> >
> > 55261f46702cec96911a81aacfb3cba13434d304 is the first bad commit
> > commit 55261f46702cec96911a81aacfb3cba13434d304
> > Author: Namhyung Kim <namhyung.kim@xxxxxxx>
> > Date: Mon May 7 14:08:59 2012 +0900
> >
> > perf evlist: Fix creation of cpu map
>
> Another detail seems to be that the bug takes per-task-inherited
> profiling. Doing:
>
> perf record -a -e cycles:pp make -j64 bzImage
>
> produces the expected number of events. Without the '-a' the bug
> Linus found triggers.
>
> Similarly, 'perf top' does not trigger the bug - because it's
> using per CPU, not per task (inherited) profiling.
>

perf_evlist__config_attrs() has this:

if (evlist->cpus->map[0] < 0)
opts->no_inherit = true;

meaning that per task profiling won't enable event inheritance. I don't
know why it's needed though.


--
Regards,
Namhyung Kim


--
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/