Commit 1c222bce authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Ingo Molnar

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: default avatarBrice Goglin <Brice.Goglin@inria.fr>
Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Tested-by: default avatarBrice Goglin <Brice.Goglin@inria.fr>
Cc: paulus@samba.org
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 1953287b
...@@ -213,9 +213,10 @@ struct perf_header *perf_header__read(int fd) ...@@ -213,9 +213,10 @@ struct perf_header *perf_header__read(int fd)
for (i = 0; i < nr_attrs; i++) { for (i = 0; i < nr_attrs; i++) {
struct perf_header_attr *attr; struct perf_header_attr *attr;
off_t tmp = lseek(fd, 0, SEEK_CUR); off_t tmp;
do_read(fd, &f_attr, sizeof(f_attr)); do_read(fd, &f_attr, sizeof(f_attr));
tmp = lseek(fd, 0, SEEK_CUR);
attr = perf_header_attr__new(&f_attr.attr); attr = perf_header_attr__new(&f_attr.attr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment