Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 699c12a7 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

perf intel-pt: Update documentation about context switch events



Since the unprivileged sched switch event was added in perf, PT doesn't
need need perf_event_paranoid=-1 anymore for per cpu decoding.

Add a note stating that that is only needed for kernels < 4.2.

Reported-by: default avatarAndi Kleen <ak@linux.intel.com>
Report-Link: http://lkml.kernel.org/r/http://lkml.kernel.org/n/tip-x2ybghpqxxn3zu0m8o7qi42r@git.kernel.org


Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Fixes: 45ac1403 ("perf: Add PERF_RECORD_SWITCH to indicate context switches")
Link: http://lkml.kernel.org/n/tip-x2ybghpqxxn3zu0m8o7qi42r@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent c56cb33b
Loading
Loading
Loading
Loading
+17 −2
Original line number Original line Diff line number Diff line
@@ -550,6 +550,18 @@ Unless /proc/sys/kernel/perf_event_paranoid is set to -1, unprivileged users
have memory limits imposed upon them.  That affects what buffer sizes they can
have memory limits imposed upon them.  That affects what buffer sizes they can
have as outlined above.
have as outlined above.


The v4.2 kernel introduced support for a context switch metadata event,
PERF_RECORD_SWITCH, which allows unprivileged users to see when their processes
are scheduled out and in, just not by whom, which is left for the
PERF_RECORD_SWITCH_CPU_WIDE, that is only accessible in system wide context,
which in turn requires CAP_SYS_ADMIN.

Please see the 45ac1403f564 ("perf: Add PERF_RECORD_SWITCH to indicate context
switches") commit, that introduces these metadata events for further info.

When working with kernels < v4.2, the following considerations must be taken,
as the sched:sched_switch tracepoints will be used to receive such information:

Unless /proc/sys/kernel/perf_event_paranoid is set to -1, unprivileged users are
Unless /proc/sys/kernel/perf_event_paranoid is set to -1, unprivileged users are
not permitted to use tracepoints which means there is insufficient side-band
not permitted to use tracepoints which means there is insufficient side-band
information to decode Intel PT in per-cpu mode, and potentially workload-only
information to decode Intel PT in per-cpu mode, and potentially workload-only
@@ -564,8 +576,11 @@ sched_switch tracepoint
-----------------------
-----------------------


The sched_switch tracepoint is used to provide side-band data for Intel PT
The sched_switch tracepoint is used to provide side-band data for Intel PT
decoding.  sched_switch events are automatically added. e.g. the second event
decoding in kernels where the PERF_RECORD_SWITCH metadata event isn't
shown below
available.

The sched_switch events are automatically added. e.g. the second event shown
below:


	$ perf record -vv -e intel_pt//u uname
	$ perf record -vv -e intel_pt//u uname
	------------------------------------------------------------
	------------------------------------------------------------