On 09/11/16 16:44, Arnaldo Carvalho de Melo wrote: > Em Wed, Nov 09, 2016 at 04:01:12PM +0200, Adrian Hunter escreveu: >> On 09/11/16 15:59, Arnaldo Carvalho de Melo wrote: >>> Em Wed, Nov 09, 2016 at 10:14:26AM -0300, Arnaldo Carvalho de Melo escreveu: >>> +++ b/tools/perf/Documentation/intel-pt.txt >>> @@ -546,6 +546,18 @@ mode by using the --per-thread option. >>> Privileged vs non-privileged users >>> ---------------------------------- > >>> +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 >>> have memory limits imposed upon them. That affects what buffer sizes they >>> can >>> have as outlined above. > >> Maybe put that last paragraph about memory limits above the new text. > > Ok, adding your Acked-by, it now stands as, please ack:
Yes that is good. Thank you! > > commit c955ced680270b95a3de6a2434311befaeaea948 > Author: Arnaldo Carvalho de Melo <a...@redhat.com> > Date: Wed Nov 9 11:04:05 2016 -0300 > > 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: Andi Kleen <a...@linux.intel.com> > Report-link: > http://lkml.kernel.org/r/http://lkml.kernel.org/n/tip-x2ybghpqxxn3zu0m8o7qi...@git.kernel.org > Acked-by: Adrian Hunter <adrian.hun...@intel.com> > Fixes: 45ac1403f564 ("perf: Add PERF_RECORD_SWITCH to indicate context > switches") > Link: http://lkml.kernel.org/n/tip-x2ybghpqxxn3zu0m8o7qi...@git.kernel.org > Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com> > > diff --git a/tools/perf/Documentation/intel-pt.txt > b/tools/perf/Documentation/intel-pt.txt > index c6c8318e38a2..b0b3007d3c9c 100644 > --- a/tools/perf/Documentation/intel-pt.txt > +++ b/tools/perf/Documentation/intel-pt.txt > @@ -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 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 > 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 > @@ -564,8 +576,11 @@ sched_switch tracepoint > ----------------------- > > 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 > -shown below > +decoding in kernels where the PERF_RECORD_SWITCH metadata event isn't > +available. > + > +The sched_switch events are automatically added. e.g. the second event shown > +below: > > $ perf record -vv -e intel_pt//u uname > ------------------------------------------------------------ >