[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