diff options
| author | Jan Altenberg <jan@linutronix.de> | 2014-02-19 17:28:22 +0100 |
|---|---|---|
| committer | Jan Altenberg <jan@linutronix.de> | 2014-02-19 17:28:22 +0100 |
| commit | d0eb7de92f33eff43fb32c413582fcb74553999f (patch) | |
| tree | 905cdfcd8b4e35ac3e0f629909b78c24913dd37e /kernel-devel/kernel-tracing | |
| parent | 751dc5e4abec89bddf8260d6756d9db8eb72a0c3 (diff) | |
Fixes for kernel tracing pres
Diffstat (limited to 'kernel-devel/kernel-tracing')
| -rw-r--r-- | kernel-devel/kernel-tracing/pres_kernel-tracing_en.tex | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/kernel-devel/kernel-tracing/pres_kernel-tracing_en.tex b/kernel-devel/kernel-tracing/pres_kernel-tracing_en.tex index d5a9686..9f19959 100644 --- a/kernel-devel/kernel-tracing/pres_kernel-tracing_en.tex +++ b/kernel-devel/kernel-tracing/pres_kernel-tracing_en.tex @@ -40,6 +40,16 @@ blk function_graph mmiotrace wakeup_rt wakeup \section{Event tracing} \begin{frame}[fragile] \frametitle{Event tracing} +\begin{itemize} +\item Pre-defined Events in the kernel +\item Event groups +\item Each event comes with several options +\item Filtering based on event options +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Event tracing} current\_tracer can be set to NOP \begin{verbatim} $ cd /sys/kernel/debug/tracing @@ -133,6 +143,32 @@ $ cat trace \end{frame} \section{Tracers} +\begin{frame} +\frametitle{Tracers} +\begin{itemize} +\item Already have some special logic +\item Latency hunting +\item Callgraphs +\item Kernel profiling +\item ... +\end{itemize} +\end{frame} + +\section{Tracers} +\begin{frame} +\frametitle{Tracers} +available\_tracers contains the tracers which are enabled +in the kernel configuration. The tracer ist set by the +current\_tracer file: +\begin{itemize} +\item function: Can turn all functions into trace events +\item function\_graph: Similiar to function, but contains a call graph +\item wakeup / wakeup\_rt: Measure the wakeup time for tasks / rt tasks +\item irqsoff: useful for latency hunting. Identifies long sections with IRQs turned off +\item ... +\end{itemize} +\end{frame} + \begin{frame}[fragile] \frametitle{Tracer: function} \begin{verbatim} @@ -559,7 +595,7 @@ $ ps H -C pthread_example -o 'pid tid cmd comm' \frametitle{Dynamic kernel tracepoints: KPROBES} \begin{verbatim} $ echo 'p:my_k_event do_IRQ' > kprobe_events -$ echo 1 events/kprobes/my_k_event/enabled +$ echo 1 > events/kprobes/my_k_event/enabled $ echo 1 > tracing_on $ cat trace <idle>-0 [000] d... 545.173709: my_k_event: (do_IRQ+0x0/0xc0) |
