mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 10:57:46 +00:00
perf docs arm_spe: Clarify more SPE requirements related to KPTI
The question of exactly when KPTI needs to be disabled comes up a lot because it doesn't always need to be done. Add the relevant kernel function and some examples that describe the behavior. Also describe the interrupt requirement and that no error message will be printed if this isn't met. Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: James Clark <james.clark@arm.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20240312132508.423320-1-james.clark@arm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
a672af9139
commit
36f65f9b7a
1 changed files with 11 additions and 1 deletions
|
@ -116,6 +116,15 @@ Depending on CPU model, the kernel may need to be booted with page table isolati
|
|||
(kpti=off). If KPTI needs to be disabled, this will fail with a console message "profiling buffer
|
||||
inaccessible. Try passing 'kpti=off' on the kernel command line".
|
||||
|
||||
For the full criteria that determine whether KPTI needs to be forced off or not, see function
|
||||
unmap_kernel_at_el0() in the kernel sources. Common cases where it's not required
|
||||
are on the CPUs in kpti_safe_list, or on Arm v8.5+ where FEAT_E0PD is mandatory.
|
||||
|
||||
The SPE interrupt must also be described by the firmware. If the module is loaded and KPTI is
|
||||
disabled (or isn't required to be disabled) but the SPE PMU still doesn't show in
|
||||
/sys/bus/event_source/devices/, then it's possible that the SPE interrupt isn't described by
|
||||
ACPI or DT. In this case no warning will be printed by the driver.
|
||||
|
||||
Capturing SPE with perf command-line tools
|
||||
------------------------------------------
|
||||
|
||||
|
@ -199,7 +208,8 @@ Common errors
|
|||
|
||||
- "Cannot find PMU `arm_spe'. Missing kernel support?"
|
||||
|
||||
Module not built or loaded, KPTI not disabled (see above), or running on a VM
|
||||
Module not built or loaded, KPTI not disabled, interrupt not described by firmware,
|
||||
or running on a VM. See 'Kernel Requirements' above.
|
||||
|
||||
- "Arm SPE CONTEXT packets not found in the traces."
|
||||
|
||||
|
|
Loading…
Reference in a new issue