Re: perf: prctl(PR_TASK_PERF_EVENTS_DISABLE) has no effect

From: Frederic Weisbecker
Date: Wed Feb 01 2012 - 14:03:33 EST


On Mon, Jan 30, 2012 at 11:11:21AM +0100, Ingo Molnar wrote:
>
> * Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:
>
> > On Sun, 2012-01-29 at 17:32 +0100, Ingo Molnar wrote:
> > > * Andrew Steets <asteets@xxxxxxxxxxxxxxx> wrote:
> > >
> > > > On 1/28/12 6:01 AM, Ingo Molnar wrote:
> > > >
> > > > >> prctl(PR_TASK_PERF_EVENTS_DISABLE) doesn't appear to
> > > > >> disable perf event counters. Here is a demonstration
> > > > >> program:
> > > > >
> > > > > btw., what's your usecase?
> > > >
> > > > I'm trying to profile a small section of a long-running
> > > > program. I ran into trouble using call-graph recording
> > > > and I thought this might be an alternative way of getting
> > > > what I was after.
> > >
> > > That usecase indeed makes sense. Peter, could we allow this
> > > for privileged tasks, depending on the perf_paranoia
> > > settings or such?
> >
> > I really dislike it. The sane way around this would be to
> > allow easy self-profiling instead of doing things arse about
> > face like that.
>
> So, what workflow are you suggesting to Andrew?
>
> I guess we are also hurting from the lack of dwarf stack
> backtrace decoding - that would allow the filtering by parent
> function without modifying the code. I think Frederic had a
> prototype working for 32-bit - any update on that?

I haven't touched that for a while. I would be glad if
somebody else could relay me on this work.

I think Jiri Olsa has been working on something about Dwarf cfi
unwinding with a different approach. Mine was about dumping chunks
of stack and regs and do the unwinding on post processing. I think
Jiri is doing the unwinding from the event overflow fast path.

>
> Andrew could work that problem around right now by adding:
>
> -fno-omit-frame-pointer
>
> to the build of the utility - that should activate -g and
> perf-report's --parent filter should also work fine.
>
> Thanks,
>
> Ingo
--
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/