[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