[bootlin/training-materials updates] master: Boot time: remove link optimization slides (9de4d81f)

Michael Opdenacker michael.opdenacker at bootlin.com
Fri Oct 22 13:52:52 CEST 2021

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


commit 9de4d81f5c2ba240e492a84b28f81a212012391b
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Fri Oct 22 13:52:52 2021 +0200

    Boot time: remove link optimization slides
    Never implemented them, and the benefits could be minor
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


 .../boot-time-application.tex                      | 38 ----------------------
 1 file changed, 38 deletions(-)

diff --git a/slides/boot-time-application/boot-time-application.tex b/slides/boot-time-application/boot-time-application.tex
index 0370783e..39f59df6 100644
--- a/slides/boot-time-application/boot-time-application.tex
+++ b/slides/boot-time-application/boot-time-application.tex
@@ -169,44 +169,6 @@ perf report
-\frametitle{Linker optimizations (1)}
-Group application code used at startup
-        \item Find the functions called during startup, for example using
-              the \code{-finstrument-functions} gcc option.
-        \item Create a custom linker script to reorder these functions in
-              the call order. You can achieve that by putting each function
-              in their own section using the \code{-ffunction-sections} gcc
-              option.
-        \item Particularly useful for flash storage with rather big MTD
-              read blocks. As the whole read blocks are read, you end up
-              reading unnecessary data.
-\tiny \url{https://web.archive.org/web/20130508211037/http://blogs.linux.ie/caolan/2007/04/24/controlling-symbol-ordering/}
-\frametitle{Linker optimizations (2)}
-\item Here's a very simple way to find the maximum savings you can expect
-      from this technique:
-      \begin{itemize}
-      \item Start the application once and measure its startup time.
-      \item Start the application and measure its startup time again.
-            Its code should still be in the Linux file cache,
-            and the code loading time will be zero.
-      \end{itemize}
-\item You now know how much time it took to load the application code
-      (and its libraries) the first time. Linker optimizations will
-      save less than this upper limit.
-\item You can then decide whether this could be worth the effort.
-      Such optimizations are costly, as the way you compile your
-      applications has to be modified.
 {Optimizing the application}

More information about the training-materials-updates mailing list