[FE training-materials-updates] Remove the SystemTap slides
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Mon Sep 30 11:34:52 CEST 2013
Repository : git://git.free-electrons.com/training-materials.git
On branch : kernel-ng
Link : http://git.free-electrons.com/training-materials/commit/?id=088a323a65dfa59542a95a4795774407127143ce
>---------------------------------------------------------------
commit 088a323a65dfa59542a95a4795774407127143ce
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date: Mon Sep 30 11:33:52 2013 +0200
Remove the SystemTap slides
It is a way too advanced technique for the purpose of this training,
and we should mention LTTng and ftrace as well if we want to cover
tracing.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>---------------------------------------------------------------
088a323a65dfa59542a95a4795774407127143ce
.../kernel-driver-development-debugging.tex | 76 --------------------
1 file changed, 76 deletions(-)
diff --git a/slides/kernel-driver-development-debugging/kernel-driver-development-debugging.tex b/slides/kernel-driver-development-debugging/kernel-driver-development-debugging.tex
index c4ba466..82f2b5e 100644
--- a/slides/kernel-driver-development-debugging/kernel-driver-development-debugging.tex
+++ b/slides/kernel-driver-development-debugging/kernel-driver-development-debugging.tex
@@ -278,79 +278,3 @@
\includegraphics[width=\textwidth]{slides/kernel-driver-development-debugging/kexec.pdf}
\end{columns}
\end{frame}
-
-\begin{frame}
- \frametitle{Tracing with SystemTap}
- \begin{itemize}
- \item \url{http://sourceware.org/systemtap/}
- \begin{itemize}
- \item Infrastructure to add instrumentation to a running kernel:
- trace functions, read and write variables, follow pointers,
- gather statistics...
- \item Eliminates the need to modify the kernel sources to add
- one's own instrumentation to investigated a functional or
- performance problem.
- \item Uses a simple scripting language.
- \item Several example scripts and probe points are available.
- \item Based on the \code{Kprobes} instrumentation infrastructure.
- \item See \kerneldoc{kprobes.txt} in kernel sources.
- \item Now supported on most popular CPUs.
- \end{itemize}
- \end{itemize}
-\end{frame}
-
-
-
-\begin{frame}[fragile]
- \frametitle{SystemTap Script Example (1)}
-{\tiny
-\begin{verbatim}
-#! /usr/bin/env stap
-# Using statistics and maps to examine kernel memory
-# allocations
-
-global kmalloc
-
-probe kernel.function("__kmalloc") {
- kmalloc[execname()] <<< $size
-}
-
-# Exit after 10 seconds
-probe timer.ms(10000) {
- exit()
-}
-probe end {
- foreach ([name] in kmalloc) {
- printf("Allocations for %s\n", name)
- printf("Count: %d allocations\n", @count(kmalloc[name]))
- printf("Sum: %d Kbytes\n", @sum(kmalloc[name])/1024)
- printf("Average: %d bytes\n", @avg(kmalloc[name]))
- printf("Min: %d bytes\n", @min(kmalloc[name]))
- printf("Max: %d bytes\n", @max(kmalloc[name]))
- print("\nAllocations by size in bytes\n")
- print(@hist_log(kmalloc[name]))
- printf("-------------------------------------------\n\n")
- }
-}
-\end{verbatim}
-}
-\end{frame}
-
-\begin{frame}[fragile]
- \frametitle{SystemTap Script Example (2)}
-{\small
-\begin{verbatim}
-#! /usr/bin/env stap
-# Logs each file read performed by each process
-
-probe kernel.function ("vfs_read")
-{
- dev_nr = $file->f_dentry->d_inode->i_sb->s_dev
- inode_nr = $file->f_dentry->d_inode->i_ino
- printf ("%s(%d) %s 0x%x/%d\n",
- execname(), pid(), probefunc(), dev_nr, inode_nr)
-}
-\end{verbatim}
-}
-Nice tutorial on \url{http://sources.redhat.com/systemtap/tutorial.pdf}
-\end{frame}
More information about the training-materials-updates
mailing list