Commit e9add8ba authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo

perf evsel: Disable write_backward for leader sampling group events

.. and other related fields that do not need to be enabled
for events that have sampling leader.

It fixes the perf top usage Ingo reported broken:

  # perf top -e '{cycles,msr/aperf/}:S'

The 'msr/aperf/' event is configured for write_back sampling, which is
not allowed by the MSR PMU, so it fails to create the event.

Adjusting related attr test.
Reported-by: default avatarIngo Molnar <mingo@kernel.org>
Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180423090823.32309-6-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 9a4a931c
...@@ -35,3 +35,6 @@ inherit=0 ...@@ -35,3 +35,6 @@ inherit=0
# sampling disabled # sampling disabled
sample_freq=0 sample_freq=0
sample_period=0 sample_period=0
freq=0
write_backward=0
sample_id_all=0
...@@ -930,8 +930,11 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts, ...@@ -930,8 +930,11 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts,
* than leader in case leader 'leads' the sampling. * than leader in case leader 'leads' the sampling.
*/ */
if ((leader != evsel) && leader->sample_read) { if ((leader != evsel) && leader->sample_read) {
attr->freq = 0;
attr->sample_freq = 0; attr->sample_freq = 0;
attr->sample_period = 0; attr->sample_period = 0;
attr->write_backward = 0;
attr->sample_id_all = 0;
} }
if (opts->no_samples) if (opts->no_samples)
......
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