Re: [GIT PULL] perf updates/fixes

From: Markus Trippelsdorf
Date: Fri Oct 12 2012 - 05:18:53 EST


On 2012.10.12 at 11:08 +0200, Borislav Petkov wrote:
> On Fri, Oct 12, 2012 at 10:39:26AM +0200, Ingo Molnar wrote:
> >
> > * Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > > Linus,
> > >
> > > Please pull the latest perf-urgent-for-linus git tree from:
> > >
> > > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-urgent-for-linus
> > >
> > > HEAD: 95cf59ea72331d0093010543b8951bb43f262cac perf: Fix perf_cgroup_switch for sw-events
> >
> > Note that if you merge it then there's a new semantic conflict
> > with recent rbtree.c changes in your tree, causing a tools/perf/
> > build failure:
> >
> > ../../lib/rbtree.c:24:36: fatal error: linux/rbtree_augmented.h: No such file or directory compilation terminated.
> >
> > See the fix below.
> >
> > ( If the __maybe_unused annotations are too ugly for
> > lib/rbtree.c then we'll fix that in tools/perf in a cleaner
> > way, weakening the compiler checks for the rbtree build. We
> > are using stronger compiler checks in tools/perf/, which has
> > served us very well so far and is a big net win - the price is
> > the occasional extra annotation of dummy inline function
> > parameters. )
>
> Btw,
>
> Markus fixed it that way recently:
>
> http://marc.info/?l=linux-kernel&m=134980573527738
>
> by adding the -Wno-unused-parameter switch only to lib/rbtree.o when
> built from within perf.
>
> I see now though that his patch has some unrelated changes to
> trace-event-perl.c's permissions which shouldn't be there.

Yes that was part of a different issue:

CC util/scripting-engines/trace-event-perl.o
util/scripting-engines/trace-event-perl.c: In function âperl_process_tracepointâ:
util/scripting-engines/trace-event-perl.c:285:3: error: format â%luâ expects argument of type âlong unsigned intâ, but argument 2 has type â__u64â [-Werror=format]
die("ug! no event found for type %" PRIu64, evsel->attr.config);
^
cc1: all warnings being treated as errors

Which I fixed locally like this:

diff --git a/tools/perf/util/scripting-engines/trace-event-perl.c b/tools/perf/util/scripting-engines/trace-event-perl.c
index f80605e..f53889d 100644
--- a/tools/perf/util/scripting-engines/trace-event-perl.c
+++ b/tools/perf/util/scripting-engines/trace-event-perl.c
@@ -282,7 +282,7 @@ static void perl_process_tracepoint(union perf_event *perf_event __maybe_unused,

event = find_cache_event(evsel);
if (!event)
- die("ug! no event found for type %" PRIu64, evsel->attr.config);
+ die("ug! no event found for type %" PRIu64, (unsigned long)evsel->attr.config);

pid = raw_field_value(event, "common_pid", data);

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