summaryrefslogtreecommitdiff
path: root/kernel-devel/kernel-tracing
diff options
context:
space:
mode:
authorJan Altenberg <jan@linutronix.de>2014-02-19 17:28:22 +0100
committerJan Altenberg <jan@linutronix.de>2014-02-19 17:28:22 +0100
commitd0eb7de92f33eff43fb32c413582fcb74553999f (patch)
tree905cdfcd8b4e35ac3e0f629909b78c24913dd37e /kernel-devel/kernel-tracing
parent751dc5e4abec89bddf8260d6756d9db8eb72a0c3 (diff)
Fixes for kernel tracing pres
Diffstat (limited to 'kernel-devel/kernel-tracing')
-rw-r--r--kernel-devel/kernel-tracing/pres_kernel-tracing_en.tex38
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)