[bootlin/training-materials updates] master: boot-time: kernel optimizations: add spreadsheets (9a5dd17f)

Michael Opdenacker michael.opdenacker at bootlin.com
Wed Jun 14 10:53:28 CEST 2023


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/9a5dd17fb96e4a6e344327bfe06ab10660ac16aa

>---------------------------------------------------------------

commit 9a5dd17fb96e4a6e344327bfe06ab10660ac16aa
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Wed Jun 14 10:53:28 2023 +0200

    boot-time: kernel optimizations: add spreadsheets
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


>---------------------------------------------------------------

9a5dd17fb96e4a6e344327bfe06ab10660ac16aa
 .../boot-time/results/kernel-optimizations.ods     | Bin 0 -> 15264 bytes
 .../boot-time/results/kernel-size-arm-thumb2.ods   | Bin 0 -> 11270 bytes
 .../boot-time/results/kernel-size-compression.ods  | Bin 0 -> 12186 bytes
 labs/boot-time-kernel/boot-time-kernel.tex         |  62 ++++-----------------
 labs/boot-time-kernel/kernel-optimizations.png     | Bin 0 -> 39784 bytes
 labs/boot-time-kernel/kernel-size-arm-thumb2.png   | Bin 0 -> 15300 bytes
 labs/boot-time-kernel/kernel-size-compression.png  | Bin 0 -> 25085 bytes
 7 files changed, 11 insertions(+), 51 deletions(-)

diff --git a/lab-data/boot-time/results/kernel-optimizations.ods b/lab-data/boot-time/results/kernel-optimizations.ods
new file mode 100644
index 00000000..7f86c069
Binary files /dev/null and b/lab-data/boot-time/results/kernel-optimizations.ods differ
diff --git a/lab-data/boot-time/results/kernel-size-arm-thumb2.ods b/lab-data/boot-time/results/kernel-size-arm-thumb2.ods
new file mode 100644
index 00000000..2e488a26
Binary files /dev/null and b/lab-data/boot-time/results/kernel-size-arm-thumb2.ods differ
diff --git a/lab-data/boot-time/results/kernel-size-compression.ods b/lab-data/boot-time/results/kernel-size-compression.ods
new file mode 100644
index 00000000..0f510179
Binary files /dev/null and b/lab-data/boot-time/results/kernel-size-compression.ods differ
diff --git a/labs/boot-time-kernel/boot-time-kernel.tex b/labs/boot-time-kernel/boot-time-kernel.tex
index fb123fab..6bd24fbf 100644
--- a/labs/boot-time-kernel/boot-time-kernel.tex
+++ b/labs/boot-time-kernel/boot-time-kernel.tex
@@ -157,18 +157,10 @@ ideas to further reduce size and boot time.
 The time has come to make final optimizations on our kernel, mainly
 related to code size.
 
-First, measure and write down your kernel size and the total boot time:
-
-\begin{tabular}{| l | l | r |}
-  \hline
-  Kernel type & Kernel size & Total boot time \\
-  \hline
-  \hline
-  ARM & & \\
-  \hline
-  Thumb2 & & \\
-  \hline
-\end{tabular}
+First, measure and write down your kernel size and the total boot time
+in the \code{~/boot-time-labs/results/kernel-size-arm-thumb2.ods} spreadsheet:
+
+\includegraphics[width=0.7\textwidth]{labs/boot-time-kernel/kernel-size-arm-thumb2.png}
 
 Now, compile your kernel with \kconfig{CONFIG_ARM_THUMB}. Before you do
 this, you could make a backup copy of your kernel source directory with
@@ -180,26 +172,9 @@ Write down the kernel size and total boot time in the above table,
 and keep whatever option works best for you.
 
 Then, continue by trying all the kernel compression schemes listed in
-the below table:
-
-\begin{tabular}{| l | l | r |}
-  \hline
-  Compression type & Kernel size & Total boot time \\
-  \hline
-  \hline
-  Gzip & & \\
-  \hline
-  LMZA & & \\
-  \hline
-  XZ & & \\
-  \hline
-  LZO & & \\
-  \hline
-  LZ4 & & \\
-  \hline
-  None & & \\
-  \hline
-\end{tabular}
+the \code{~/boot-time-labs/results/kernel-size-compression.ods} spreadsheet:
+
+\includegraphics[width=0.7\textwidth]{labs/boot-time-kernel/kernel-size-compression.png}
 
 For the \code{None} row, there is no kernel configuration option, but
 all you have to do is take the \code{arch/arm/boot/Image} file, and make a
@@ -219,25 +194,10 @@ This option can make sense when the CPU is very slow and the storage is
 quite fast (like when you're booting Linux on a CPU emulated on an FPGA).
 
 At the end, keep the option that gives you the best boot time, and
-update the below table:
-
-\begin{tabular}{| l | l | r |}
-  \hline
-  Step & Duration & Description \\
-  \hline
-  \hline
-  U-Boot SPL & & Between \code{U-Boot SPL 2022.04} and \code{U-Boot 2022.04} \\
-  \hline
-  U-Boot & & Between \code{U-Boot 2022.04} and \code{Starting kernel} \\
-  \hline
-  Kernel + Init scripts & & Between \code{Starting kernel} and \code{Starting ffmpeg} \\
-  \hline
-  Application & & Between \code{Starting ffmpeg} and \code{First frame decoded} \\
-  \hline
-  \hline
-  Total & & \\
-  \hline
-\end{tabular}
+update the \code{~/boot-time-labs/results/kernel-optimizations.ods}
+spreadsheet:
+
+\includegraphics[width=\textwidth]{labs/boot-time-kernel/kernel-optimizations.png}
 
 Note that we have merged the {\em Kernel} and {\em Init scripts} parts
 (the latter being very short anyway), because the kernel is now silent.
diff --git a/labs/boot-time-kernel/kernel-optimizations.png b/labs/boot-time-kernel/kernel-optimizations.png
new file mode 100644
index 00000000..713477f7
Binary files /dev/null and b/labs/boot-time-kernel/kernel-optimizations.png differ
diff --git a/labs/boot-time-kernel/kernel-size-arm-thumb2.png b/labs/boot-time-kernel/kernel-size-arm-thumb2.png
new file mode 100644
index 00000000..eece2b67
Binary files /dev/null and b/labs/boot-time-kernel/kernel-size-arm-thumb2.png differ
diff --git a/labs/boot-time-kernel/kernel-size-compression.png b/labs/boot-time-kernel/kernel-size-compression.png
new file mode 100644
index 00000000..d10ae76e
Binary files /dev/null and b/labs/boot-time-kernel/kernel-size-compression.png differ




More information about the training-materials-updates mailing list