From d0eb7de92f33eff43fb32c413582fcb74553999f Mon Sep 17 00:00:00 2001 From: Jan Altenberg Date: Wed, 19 Feb 2014 17:28:22 +0100 Subject: Fixes for kernel tracing pres --- .../kernel-tracing/pres_kernel-tracing_en.tex | 38 +++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'kernel-devel/kernel-tracing/pres_kernel-tracing_en.tex') 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 @@ -38,6 +38,16 @@ blk function_graph mmiotrace wakeup_rt wakeup \end{frame} \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 @@ -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 -0 [000] d... 545.173709: my_k_event: (do_IRQ+0x0/0xc0) -- cgit v1.2.3