Messages in this thread Patch in this message | | | Date | Fri, 7 Aug 2009 07:39:49 GMT | From | tip-bot for Peter Zijlstra <> | Subject | [tip:perfcounters/urgent] perf tools: Fix multi-counter stat bug caused by incorrect reading of perf.data file header |
| |
Commit-ID: ce71e78d91c4e7c02ce85f26319e53a824be4ffb Gitweb: http://git.kernel.org/tip/ce71e78d91c4e7c02ce85f26319e53a824be4ffb Author: Peter Zijlstra <a.p.zijlstra@chello.nl> AuthorDate: Thu, 6 Aug 2009 20:57:41 +0200 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Fri, 7 Aug 2009 09:37:29 +0200
perf tools: Fix multi-counter stat bug caused by incorrect reading of perf.data file header
Brice Goglin reported that only the first result from a multi-counter perf record --stat run is accurate, the rest looks bogus.
A silly mistake made us re-read the first attribute for every recorded attribute.
Reported-by: Brice Goglin <Brice.Goglin@inria.fr> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Tested-by: Brice Goglin <Brice.Goglin@inria.fr> Cc: paulus@samba.org LKML-Reference: <1249585061.4975.17.camel@laptop> Signed-off-by: Ingo Molnar <mingo@elte.hu>
--- tools/perf/util/header.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 450384b..95a44bc 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -213,9 +213,10 @@ struct perf_header *perf_header__read(int fd) for (i = 0; i < nr_attrs; i++) { struct perf_header_attr *attr; - off_t tmp = lseek(fd, 0, SEEK_CUR); + off_t tmp; do_read(fd, &f_attr, sizeof(f_attr)); + tmp = lseek(fd, 0, SEEK_CUR); attr = perf_header_attr__new(&f_attr.attr);
| |