[bootlin/training-materials updates] master: Revert "debugging: slides: most profiling tools need root privileges" (4176eba3)
Luca Ceresoli
luca.ceresoli at bootlin.com
Tue Aug 29 09:53:29 CEST 2023
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/4176eba30a5302d307baa9088291c6a403027317
>---------------------------------------------------------------
commit 4176eba30a5302d307baa9088291c6a403027317
Author: Luca Ceresoli <luca.ceresoli at bootlin.com>
Date: Tue Aug 29 09:53:29 2023 +0200
Revert "debugging: slides: most profiling tools need root privileges"
Partially revert commit 1a1975db3916 ("debugging: slides: most profiling
tools need root privileges") which was a bad idea. Forcing root provileges
for using perf and other tools is not the way to go on the host. Obtaining
more specific privileges via /proc/sys/kernel/perf_event_paranoid is way
better.
Suggested-by: Alexis Lothoré <alexis.lothore at bootlin.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli at bootlin.com>
>---------------------------------------------------------------
4176eba30a5302d307baa9088291c6a403027317
.../debugging-system-wide-profiling.tex | 54 +++++++++++-----------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/slides/debugging-system-wide-profiling/debugging-system-wide-profiling.tex b/slides/debugging-system-wide-profiling/debugging-system-wide-profiling.tex
index 5ea72aa4..735920af 100644
--- a/slides/debugging-system-wide-profiling/debugging-system-wide-profiling.tex
+++ b/slides/debugging-system-wide-profiling/debugging-system-wide-profiling.tex
@@ -116,7 +116,7 @@ register_kretprobe(&probe);
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\footnotesize]{console}
-# perf list syscalls:*
+$ perf list syscalls:*
List of pre-defined events (to be used in -e):
syscalls:sys_enter_accept [Tracepoint event]
@@ -133,7 +133,7 @@ List of pre-defined events (to be used in -e):
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\footnotesize]{console}
-# perf record -e syscalls:sys_enter_read sha256sum /bin/busybox
+$ perf record -e syscalls:sys_enter_read sha256sum /bin/busybox
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.018 MB perf.data (215 samples) ]
\end{minted}
@@ -147,7 +147,7 @@ List of pre-defined events (to be used in -e):
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# perf report
+$ perf report
Samples: 591 of event 'cycles', Event count (approx.): 393877062
Overhead Command Shared Object Symbol
22,88% firefox-esr [nvidia] [k] _nv031568rm
@@ -193,7 +193,7 @@ Overhead Command Shared Object Symbol
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{console}
-# perf probe --funcs
+$ perf probe --funcs
\end{minted}
\end{block}
\begin{itemize}
@@ -202,7 +202,7 @@ Overhead Command Shared Object Symbol
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{console}
-# perf probe --vmlinux=vmlinux_file do_sys_openat2 filename:string
+$ perf probe --vmlinux=vmlinux_file do_sys_openat2 filename:string
Added new event:
probe:do_sys_openat2 (on do_sys_openat2 with filename:string)
\end{minted}
@@ -212,7 +212,7 @@ Added new event:
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{console}
-# perf record -e probe:do_sys_openat2 tail /var/log/messages
+$ perf record -e probe:do_sys_openat2 tail /var/log/messages
...
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.003 MB perf.data (19 samples) ]
@@ -228,7 +228,7 @@ Added new event:
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# perf script
+$ perf script
tail 164 [000] 3552.956573: probe:do_sys_openat2: (c02c3750) filename_string="/etc/ld.so.cache"
tail 164 [000] 3552.956642: probe:do_sys_openat2: (c02c3750) filename_string="/lib/tls/v7l/neon/vfp/libresolv.so.2"
...
@@ -240,7 +240,7 @@ tail 164 [000] 3552.956642: probe:do_sys_openat2: (c02c3750) filename_string=
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{console}
-# perf probe ksys_read%return ret=%r0
+$ perf probe ksys_read%return ret=%r0
\end{minted}
\end{block}
\begin{itemize}
@@ -248,7 +248,7 @@ tail 164 [000] 3552.956642: probe:do_sys_openat2: (c02c3750) filename_string=
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{console}
-# perf record -e probe:ksys_read__return sha256sum /etc/fstab
+$ perf record -e probe:ksys_read__return sha256sum /etc/fstab
\end{minted}
\end{block}
\end{frame}
@@ -261,7 +261,7 @@ tail 164 [000] 3552.956642: probe:do_sys_openat2: (c02c3750) filename_string=
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{console}
-# perf probe -l
+$ perf probe -l
probe:ksys_read__return (on ksys_read%return with ret)
\end{minted}
\end{block}
@@ -270,7 +270,7 @@ tail 164 [000] 3552.956642: probe:do_sys_openat2: (c02c3750) filename_string=
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# perf probe -d probe:ksys_read__return
+$ perf probe -d probe:ksys_read__return
\end{minted}
\end{block}
\end{frame}
@@ -283,7 +283,7 @@ tail 164 [000] 3552.956642: probe:do_sys_openat2: (c02c3750) filename_string=
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{console}
-# perf record -a
+$ perf record -a
^C
\end{minted}
\end{block}
@@ -292,7 +292,7 @@ tail 164 [000] 3552.956642: probe:do_sys_openat2: (c02c3750) filename_string=
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# perf script
+$ perf script
...
klogd 85 [000] 208.609712: 116584 cycles: b6dd551c memset+0x2c (/lib/libc.so.6)
klogd 85 [000] 208.609898: 121267 cycles: c0a44c84 _raw_spin_unlock_irq+0x34 (vmlinux)
@@ -318,7 +318,7 @@ kworker/0:2-mm_ 44 [000] 208.620653: 133104 cycles: c0a44c84
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# perf trace -e "net:*" ping -c 1 192.168.1.1
+$ perf trace -e "net:*" ping -c 1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
0.000 ping/37820 net:net_dev_queue(skbaddr: 0xffff97bbc6a17900, len: 98,
name: "enp34s0")
@@ -343,7 +343,7 @@ PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# perf top
+$ top perf
Samples: 19K of event 'cycles', 4000 Hz, Event count (approx.): 4571734204 lost: 0/0 drop: 0/0
Overhead Shared Object Symbol
2,01% [nvidia] [k] _nv023368rm
@@ -444,7 +444,7 @@ Overhead Shared Object Symbol
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd report
+$ trace-cmd report
...
dd-113 [000] 304.526590: funcgraph_entry: | sys_write() {
dd-113 [000] 304.526597: funcgraph_entry: | ksys_write() {
@@ -604,7 +604,7 @@ void read_hw()
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd list -t
+$ trace-cmd list -t
blk mmiotrace function_graph function nop
\end{minted}
\end{block}
@@ -613,7 +613,7 @@ blk mmiotrace function_graph function nop
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd list -e
+$ trace-cmd list -e
...
migrate:mm_migrate_pages_start
migrate:mm_migrate_pages
@@ -629,7 +629,7 @@ syscalls:sys_exit_process_vm_writev
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd list -f
+$ trace-cmd list -f
...
wait_for_initramfs
__ftrace_invalid_address___64
@@ -649,7 +649,7 @@ calibrate_delay
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd record -p function
+$ trace-cmd record -p function
\end{minted}
\end{block}
@@ -658,7 +658,7 @@ calibrate_delay
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd record -l spi_* -p function
+$ trace-cmd record -l spi_* -p function
\end{minted}
\end{block}
@@ -667,7 +667,7 @@ calibrate_delay
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd record -p function_graph dd if=/dev/mmcblk0 of=out bs=512 count=10
+$ trace-cmd record -p function_graph dd if=/dev/mmcblk0 of=out bs=512 count=10
\end{minted}
\end{block}
@@ -676,7 +676,7 @@ calibrate_delay
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd report
+$ trace-cmd report
\end{minted}
\end{block}
\end{frame}
@@ -688,7 +688,7 @@ calibrate_delay
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd reset
+$ trace-cmd reset
\end{minted}
\end{block}
@@ -697,7 +697,7 @@ calibrate_delay
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd record -p irqsoff
+$ trace-cmd record -p irqsoff
\end{minted}
\end{block}
\begin{itemize}
@@ -706,7 +706,7 @@ calibrate_delay
\end{itemize}
\begin{block}{}
\begin{minted}[fontsize=\tiny]{console}
-# trace-cmd record -e irq:irq_handler_exit -e irq:irq_handler_entry
+$ trace-cmd record -e irq:irq_handler_exit -e irq:irq_handler_entry
\end{minted}
\end{block}
@@ -888,7 +888,7 @@ void any_func(void)
\begin{block}{}
\begin{minted}[fontsize=\footnotesize]{console}
$ git clone https://github.com/brendangregg/FlameGraph.git
-# profile.py -df -F 99 10 | ./FlameGraph/flamegraph.pl > flamegraph.svg
+$ profile.py -df -F 99 10 | ./FlameGraph/flamegraph.pl > flamegraph.svg
\end{minted}
\end{block}
\begin{itemize}
More information about the training-materials-updates
mailing list