diff options
author | Mark Brown <broonie@kernel.org> | 2018-09-20 08:32:20 -0700 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-09-20 08:32:20 -0700 |
commit | d7b33ebae7c1419ebdfd94eb64bf74a7ec760031 (patch) | |
tree | 67dbc2149bb00e2eaf89c31a515e1f8bfc0dc8cb /tools/perf/util/evsel.c | |
parent | e1d176680ed4f6970582086191eb7377a80a2d4e (diff) | |
parent | 1244bbb3e92135d247e2dddfa6fe5e3e171a9635 (diff) |
Merge tag 'v4.14.71' into linux-linaro-lsk-v4.14
This is the 4.14.71 stable release
Diffstat (limited to 'tools/perf/util/evsel.c')
-rw-r--r-- | tools/perf/util/evsel.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 226a9245d1db..2227ee92d8e2 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -824,6 +824,12 @@ static void apply_config_terms(struct perf_evsel *evsel, } } +static bool is_dummy_event(struct perf_evsel *evsel) +{ + return (evsel->attr.type == PERF_TYPE_SOFTWARE) && + (evsel->attr.config == PERF_COUNT_SW_DUMMY); +} + /* * The enable_on_exec/disabled value strategy: * @@ -1054,6 +1060,14 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts, else perf_evsel__reset_sample_bit(evsel, PERIOD); } + + /* + * For initial_delay, a dummy event is added implicitly. + * The software event will trigger -EOPNOTSUPP error out, + * if BRANCH_STACK bit is set. + */ + if (opts->initial_delay && is_dummy_event(evsel)) + perf_evsel__reset_sample_bit(evsel, BRANCH_STACK); } static int perf_evsel__alloc_fd(struct perf_evsel *evsel, int ncpus, int nthreads) |