Re: Linux 2.6.32.34

From: Mike Galbraith
Date: Thu Mar 24 2011 - 01:23:23 EST


On Thu, 2011-03-24 at 11:39 +0800, Teck Choon Giam wrote:
> On Thu, Mar 24, 2011 at 8:18 AM, Jiri Slaby <jslaby@xxxxxxx> wrote:
> > On 03/23/2011 09:34 PM, Greg KH wrote:
> >> --- a/kernel/perf_event.c
> >> +++ b/kernel/perf_event.c
> >> @@ -4167,6 +4167,8 @@ static void tp_perf_event_destroy(struct perf_event *event)
> >>
> >> static const struct pmu *tp_perf_event_init(struct perf_event *event)
> >> {
> >> + if (event->hw.state & PERF_HES_STOPPED)
> >> + return 0;
> >> /*
> >> * Raw tracepoint data is a severe data leak, only allow root to
> >> * have these.
> >
> > This causes build to fail:
> > /usr/src/packages/BUILD/kernel-vanilla-2.6.32.34/linux-2.6.32/kernel/perf_event.c:
> > Inâfunctionâ'tp_perf_event_init':
> > /usr/src/packages/BUILD/kernel-vanilla-2.6.32.34/linux-2.6.32/kernel/perf_event.c:4170:
> > error:â'structâhw_perf_event'âhasânoâmemberânamedâ'state'
> > /usr/src/packages/BUILD/kernel-vanilla-2.6.32.34/linux-2.6.32/kernel/perf_event.c:4170:
> > error:â'PERF_HES_STOPPED'âundeclaredâ(firstâuseâinâthisâfunction)
> > /usr/src/packages/BUILD/kernel-vanilla-2.6.32.34/linux-2.6.32/kernel/perf_event.c:4170:
> > error:â(Eachâundeclaredâidentifierâisâreportedâonlyâonce
> > /usr/src/packages/BUILD/kernel-vanilla-2.6.32.34/linux-2.6.32/kernel/perf_event.c:4170:
> > error:âforâeachâfunctionâitâappearsâin.)
> >
> >
> > The source:
> > commit 6f197b73304b3bd3d5a43b931383a5331d6b2987
> > Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> > Date: Mon Mar 7 21:27:09 2011 +0100
> >
> > perf: Handle stopped state with tracepoints
> >
> > commit a0f7d0f7fc02465bb9758501f611f63381792996 upstream.
> >
> > We toggle the state from start and stop callbacks but actually
> > don't check it when the event triggers. Do it so that
> > these callbacks actually work.
>
> It builds fine for me with gcc version 4.1.2 for both x86_32 and x86_64.

It won't if you turn tracing on. hw_perf_event.state appeared in .37
via a4eaf7f1.

-Mike

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