Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);