[tip:perf/urgent] perf tools: Do not zero sample_id_all for group members

From: tip-bot for Jiri Olsa
Date: Tue Nov 06 2018 - 14:20:21 EST


Commit-ID: 8e88c29b351ed4e09dd63f825f1c8260b0cb0ab3
Gitweb: https://git.kernel.org/tip/8e88c29b351ed4e09dd63f825f1c8260b0cb0ab3
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
AuthorDate: Sun, 23 Sep 2018 17:04:20 +0200
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Tue, 6 Nov 2018 08:29:56 -0300

perf tools: Do not zero sample_id_all for group members

Andi reported following malfunction:

# perf record -e '{ref-cycles,cycles}:S' -a sleep 1
# perf script
non matching sample_id_all

That's because we disable sample_id_all bit for non-sampling group
members. We can't do that, because it needs to be the same over the
whole event list. This patch keeps it untouched again.

Reported-by: Andi Kleen <andi@xxxxxxxxxxxxxx>
Tested-by: Andi Kleen <andi@xxxxxxxxxxxxxx>
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20180923150420.27327-1-jolsa@xxxxxxxxxx
Fixes: e9add8bac6c6 ("perf evsel: Disable write_backward for leader sampling group events")
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/tests/attr/test-record-group-sampling | 1 -
tools/perf/util/evsel.c | 1 -
2 files changed, 2 deletions(-)

diff --git a/tools/perf/tests/attr/test-record-group-sampling b/tools/perf/tests/attr/test-record-group-sampling
index 8a33ca4f9e1f..f0729c454f16 100644
--- a/tools/perf/tests/attr/test-record-group-sampling
+++ b/tools/perf/tests/attr/test-record-group-sampling
@@ -37,4 +37,3 @@ sample_freq=0
sample_period=0
freq=0
write_backward=0
-sample_id_all=0
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 6d187059a373..d37bb1566cd9 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -956,7 +956,6 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts,
attr->sample_freq = 0;
attr->sample_period = 0;
attr->write_backward = 0;
- attr->sample_id_all = 0;
}

if (opts->no_samples)