perf arm-spe: Update --switch-events docs in 'perf record'

Update 'perf record' docs and ARM SPE recording options so that they are
consistent. This includes supporting the --no-switch-events flag in ARM
SPE as well.

Reviewed-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: German Gomez <german.gomez@arm.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: John Garry <john.garry@huawei.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20211111133625.193568-3-german.gomez@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
German Gomez 2021-11-11 13:36:23 +00:00 committed by Arnaldo Carvalho de Melo
parent 9dc9855f18
commit 455c988225
2 changed files with 4 additions and 2 deletions

View File

@ -469,7 +469,7 @@ This option sets the time out limit. The default value is 500 ms.
--switch-events:: --switch-events::
Record context switch events i.e. events of type PERF_RECORD_SWITCH or Record context switch events i.e. events of type PERF_RECORD_SWITCH or
PERF_RECORD_SWITCH_CPU_WIDE. In some cases (e.g. Intel PT or CoreSight) PERF_RECORD_SWITCH_CPU_WIDE. In some cases (e.g. Intel PT, CoreSight or Arm SPE)
switch events will be enabled automatically, which can be suppressed by switch events will be enabled automatically, which can be suppressed by
by the option --no-switch-events. by the option --no-switch-events.

View File

@ -254,8 +254,10 @@ static int arm_spe_recording_options(struct auxtrace_record *itr,
if (!perf_cpu_map__empty(cpus)) { if (!perf_cpu_map__empty(cpus)) {
evsel__set_sample_bit(tracking_evsel, TIME); evsel__set_sample_bit(tracking_evsel, TIME);
evsel__set_sample_bit(tracking_evsel, CPU); evsel__set_sample_bit(tracking_evsel, CPU);
/* also track task context switch */ /* also track task context switch */
tracking_evsel->core.attr.context_switch = 1; if (!record_opts__no_switch_events(opts))
tracking_evsel->core.attr.context_switch = 1;
} }
return 0; return 0;