* [PATCH] perf-tools: Don't assume there's no attr info if no sample ids is provided
@ 2010-11-30 11:50 Franck Bui-Huu
2010-11-30 13:53 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 2+ messages in thread
From: Franck Bui-Huu @ 2010-11-30 11:50 UTC (permalink / raw)
To: linux-perf-users
From: Franck Bui-Huu <fbuihuu@gmail.com>
This primarily fixes perf-report, which didn't report the correct type
of event if perf-record was called to record one event different from
'cycles':
$ perf record -e instructions true
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.007 MB perf.data (~295 samples) ]
$ perf report | head -n1
# Events: 7 cycles
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
---
| 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
--git a/tools/perf/util/header.c b/tools/perf/util/header.c
index d7e67b1..64a85ba 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -946,11 +946,16 @@ perf_header__find_attr(u64 id, struct perf_header *header)
/*
* We set id to -1 if the data file doesn't contain sample
- * ids. Check for this and avoid walking through the entire
- * list of ids which may be large.
+ * ids. This can happen when the data file contains one type
+ * of event and in that case, the header can still store the
+ * event attribute information. Check for this and avoid
+ * walking through the entire list of ids which may be large.
*/
- if (id == -1ULL)
+ if (id == -1ULL) {
+ if (header->attrs > 0)
+ return &header->attr[0]->attr;
return NULL;
+ }
for (i = 0; i < header->attrs; i++) {
struct perf_header_attr *attr = header->attr[i];
--
1.7.3.2
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] perf-tools: Don't assume there's no attr info if no sample ids is provided
2010-11-30 11:50 [PATCH] perf-tools: Don't assume there's no attr info if no sample ids is provided Franck Bui-Huu
@ 2010-11-30 13:53 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-11-30 13:53 UTC (permalink / raw)
To: Franck Bui-Huu; +Cc: linux-perf-users
Em Tue, Nov 30, 2010 at 12:50:14PM +0100, Franck Bui-Huu escreveu:
> From: Franck Bui-Huu <fbuihuu@gmail.com>
>
> This primarily fixes perf-report, which didn't report the correct type
> of event if perf-record was called to record one event different from
> 'cycles':
>
> $ perf record -e instructions true
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.007 MB perf.data (~295 samples) ]
>
> $ perf report | head -n1
> # Events: 7 cycles
>
> Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
> ---
> tools/perf/util/header.c | 11 ++++++++---
> 1 files changed, 8 insertions(+), 3 deletions(-)
Please CC lkml when submitting patches.
Thanks a lot, applied to my perf/urgent branch.
- Arnaldo
> diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
> index d7e67b1..64a85ba 100644
> --- a/tools/perf/util/header.c
> +++ b/tools/perf/util/header.c
> @@ -946,11 +946,16 @@ perf_header__find_attr(u64 id, struct perf_header *header)
>
> /*
> * We set id to -1 if the data file doesn't contain sample
> - * ids. Check for this and avoid walking through the entire
> - * list of ids which may be large.
> + * ids. This can happen when the data file contains one type
> + * of event and in that case, the header can still store the
> + * event attribute information. Check for this and avoid
> + * walking through the entire list of ids which may be large.
> */
> - if (id == -1ULL)
> + if (id == -1ULL) {
> + if (header->attrs > 0)
> + return &header->attr[0]->attr;
> return NULL;
> + }
>
> for (i = 0; i < header->attrs; i++) {
> struct perf_header_attr *attr = header->attr[i];
> --
> 1.7.3.2
> --
> To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-11-30 13:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-30 11:50 [PATCH] perf-tools: Don't assume there's no attr info if no sample ids is provided Franck Bui-Huu
2010-11-30 13:53 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.