2009-10-23 17:50:56

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [PATCH] perf timechart: Use pr_debug to report unknown header types

It was using eprintf that checked if verbose was !zero, when I converted
to pr_*() I made the mistake of changing it to pr_warning which caused
'perf timechart' output to be way too verbose.

Cc: Arjan van de Ven <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Mike Galbraith <[email protected]>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/builtin-timechart.c | 8 ++++----
tools/perf/util/debug.h | 2 --
tools/perf/util/include/linux/kernel.h | 3 +++
3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
index 0a2f222..1a616e8 100644
--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -1162,10 +1162,10 @@ more:
size = event->header.size;

if (!size || process_event(event) < 0) {
- pr_warning("%p [%p]: skipping unknown header type: %d\n",
- (void *)(offset + head),
- (void *)(long)(event->header.size),
- event->header.type);
+ pr_debug("%p [%p]: skipping unknown header type: %d\n",
+ (void *)(offset + head),
+ (void *)(long)(event->header.size),
+ event->header.type);
/*
* assume we lost track of the stream, check alignment, and
* increment a single u64 in the hope to catch on again 'soon'.
diff --git a/tools/perf/util/debug.h b/tools/perf/util/debug.h
index e8b18a1..5864073 100644
--- a/tools/perf/util/debug.h
+++ b/tools/perf/util/debug.h
@@ -5,8 +5,6 @@
extern int verbose;
extern int dump_trace;

-int eprintf(int level,
- const char *fmt, ...) __attribute__((format(printf, 2, 3)));
int dump_printf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
void trace_event(event_t *event);

diff --git a/tools/perf/util/include/linux/kernel.h b/tools/perf/util/include/linux/kernel.h
index 21c0274..9bc107f 100644
--- a/tools/perf/util/include/linux/kernel.h
+++ b/tools/perf/util/include/linux/kernel.h
@@ -85,6 +85,9 @@ simple_strtoul(const char *nptr, char **endptr, int base)
return strtoul(nptr, endptr, base);
}

+int eprintf(int level,
+ const char *fmt, ...) __attribute__((format(printf, 2, 3)));
+
#ifndef pr_fmt
#define pr_fmt(fmt) fmt
#endif
--
1.6.2.5


2009-10-23 17:55:55

by Arjan van de Ven

[permalink] [raw]
Subject: Re: [PATCH] perf timechart: Use pr_debug to report unknown header types

Arnaldo Carvalho de Melo wrote:
> It was using eprintf that checked if verbose was !zero, when I converted
> to pr_*() I made the mistake of changing it to pr_warning which caused
> 'perf timechart' output to be way too verbose.
>


nack...

if you EVER hit one of these you have a very very serious problem.
hiding that is never the right thing to do. I should make this a fatal
event instead.

2009-10-23 18:31:18

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf timechart: Use pr_debug to report unknown header types

Em Fri, Oct 23, 2009 at 10:55:39AM -0700, Arjan van de Ven escreveu:
> Arnaldo Carvalho de Melo wrote:
>> It was using eprintf that checked if verbose was !zero, when I converted
>> to pr_*() I made the mistake of changing it to pr_warning which caused
>> 'perf timechart' output to be way too verbose.
>>
> nack...
>
> if you EVER hit one of these you have a very very serious problem.
> hiding that is never the right thing to do. I should make this a fatal
> event instead.

OK, so I actually fixed a bug as those messages weren't being noticed if
-v wasn't used! :-)

Please take a look at latest tip to see all those messages.

- Arnaldo

2009-10-23 18:37:58

by Arjan van de Ven

[permalink] [raw]
Subject: Re: [PATCH] perf timechart: Use pr_debug to report unknown header types

Arnaldo Carvalho de Melo wrote:
> Em Fri, Oct 23, 2009 at 10:55:39AM -0700, Arjan van de Ven escreveu:
>> Arnaldo Carvalho de Melo wrote:
>>> It was using eprintf that checked if verbose was !zero, when I converted
>>> to pr_*() I made the mistake of changing it to pr_warning which caused
>>> 'perf timechart' output to be way too verbose.
>>>
>> nack...
>>
>> if you EVER hit one of these you have a very very serious problem.
>> hiding that is never the right thing to do. I should make this a fatal
>> event instead.
>
> OK, so I actually fixed a bug as those messages weren't being noticed if
> -v wasn't used! :-)
>
> Please take a look at latest tip to see all those messages.
>
> - Arnaldo

I'm pretty sure latest -tip broke timechart; Frederic tends to have a habit of doing so occasionally :)

2009-10-23 18:56:08

by Frederic Weisbecker

[permalink] [raw]
Subject: Re: [PATCH] perf timechart: Use pr_debug to report unknown header types

On Fri, Oct 23, 2009 at 11:37:59AM -0700, Arjan van de Ven wrote:
> Arnaldo Carvalho de Melo wrote:
>> Em Fri, Oct 23, 2009 at 10:55:39AM -0700, Arjan van de Ven escreveu:
>>> Arnaldo Carvalho de Melo wrote:
>>>> It was using eprintf that checked if verbose was !zero, when I converted
>>>> to pr_*() I made the mistake of changing it to pr_warning which caused
>>>> 'perf timechart' output to be way too verbose.
>>>>
>>> nack...
>>>
>>> if you EVER hit one of these you have a very very serious problem.
>>> hiding that is never the right thing to do. I should make this a fatal
>>> event instead.
>>
>> OK, so I actually fixed a bug as those messages weren't being noticed if
>> -v wasn't used! :-)
>>
>> Please take a look at latest tip to see all those messages.
>>
>> - Arnaldo
>
> I'm pretty sure latest -tip broke timechart; Frederic tends to have a habit of doing so occasionally :)
>


Yeah but I usually fix what I break. Because I need the things to be working
again if I want to happily continue breaking them :o)

/me wonders if he hasn't played too much legos when he was a child. That
may have provided him a strange vision of the world.

That said I've tested timechart few days ago and it worked very well. (That
was also the first time it worked for me).

So I guess it should be fine.