[FE training-materials-updates] Boot time slides: update lpj figures
Michael Opdenacker
michael.opdenacker at free-electrons.com
Mon Apr 21 18:34:39 CEST 2014
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=063713231cee3fb3262ab48affaeaeedd65c84ae
>---------------------------------------------------------------
commit 063713231cee3fb3262ab48affaeaeedd65c84ae
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date: Mon Apr 21 14:17:35 2014 +0200
Boot time slides: update lpj figures
Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>
>---------------------------------------------------------------
063713231cee3fb3262ab48affaeaeedd65c84ae
slides/boottime-kernel/boottime-kernel.tex | 48 ++++++++++++++++++++--------
1 file changed, 35 insertions(+), 13 deletions(-)
diff --git a/slides/boottime-kernel/boottime-kernel.tex b/slides/boottime-kernel/boottime-kernel.tex
index c8bb36e..84dccbc 100644
--- a/slides/boottime-kernel/boottime-kernel.tex
+++ b/slides/boottime-kernel/boottime-kernel.tex
@@ -54,7 +54,7 @@ function:
\item Remove unnecessary functionality:
\begin{itemize}
\item Look for kernel parameters in C sources and Makefiles, starting
- with \code{_CONFIG}. Some settings for such parameters could help
+ with \code{CONFIG_}. Some settings for such parameters could help
to remove code complexity or remove unnecessary features.
\item Find which module (if any) it belongs to. Loading this module
could be deferred.
@@ -142,26 +142,48 @@ Conclusion: don't use LZO for now.
\end{itemize}
\end{frame}
-\begin{frame}[fragile]
+\begin{frame}
\frametitle{Tuning the command line}
\begin{itemize}
+ \item The console output is actually taking a lot of time. You
+ probably don't need it in production. It can be disabled by
+ passing the \code{quiet} argument on the kernel command line.
+ You will still be able to use \code{dmesg} to get the
+ messages.
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Preset loops per jiffy}
+\begin{itemize}
\item At each boot, the Linux kernel calibrates a delay loop (for
- the udelay function). This measures a number of loops per
- jiffy ({\em lpj}) value. You just need to measure this once! Find
- the \code{lpj} value in the kernel boot messages:
+ the \kfunc{udelay} function). This measures a number of loops per
+ jiffy ({\em lpj}) value. You just need to measure this once! Find
+ the \code{lpj} value in the kernel boot messages:
\begin{block}{}
-\small
+\tiny
\begin{verbatim}
Calibrating delay loop... 262.96 BogoMIPS (lpj=1314816)
\end{verbatim}
\end{block}
- Now, you can use the \code{lpj=<value>} argument. This saves
- around 180 ms on ARM.
- \item The console output is actually taking a lot of time. You
- probably don't need it in production. It can be disabled by
- passing the \code{quiet} argument on the kernel command line.
- You will still be able to use \code{dmesg} to get the
- messages.
+ \item Now, you can add \code{lpj=<value>} to the kernel command
+ line:
+\begin{block}{}
+\tiny
+\begin{verbatim}
+Calibrating delay loop (skipped) preset value.. 262.96 BogoMIPS (lpj=1314816)
+\end{verbatim}
+\end{block}
+ \item Tests on the Atmel SAMA5D3 Xplained (ARM), Linux 3.10:
+ \begin{tabular}{| l || c | c | c |}
+ \hline
+ & Time & Diff \\
+ \hline
+ Without \code{lpj} & 71 ms & \\
+ With \code{lpj} & 8 ms & -63 ms\\
+ \hline
+ \end{tabular}
+ \item This calculation was longer before 2.6.39 (about 200 ms).
\end{itemize}
\end{frame}
More information about the training-materials-updates
mailing list