[bootlin/training-materials updates] master: kernel: sources: Update the size of each directory (922f1495)

Miquel Raynal miquel.raynal at bootlin.com
Thu Jun 2 10:54:21 CEST 2022


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

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

commit 922f149573b4236356c81179b3d27a40c0d8418d
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date:   Tue May 31 16:57:56 2022 +0200

    kernel: sources: Update the size of each directory
    
    Calculations made with a v5.18 kernel.
    
    While at it, list other interesting files so that we don't need to go
    through the entire structure once again.
    
    Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>


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

922f149573b4236356c81179b3d27a40c0d8418d
 .../sysdev-linux-intro-sources.tex                 | 75 ++++++++++++++--------
 1 file changed, 48 insertions(+), 27 deletions(-)

diff --git a/slides/sysdev-linux-intro-sources/sysdev-linux-intro-sources.tex b/slides/sysdev-linux-intro-sources/sysdev-linux-intro-sources.tex
index 36047c00..57422aea 100644
--- a/slides/sysdev-linux-intro-sources/sysdev-linux-intro-sources.tex
+++ b/slides/sysdev-linux-intro-sources/sysdev-linux-intro-sources.tex
@@ -77,13 +77,13 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux}}
 \end{frame}
 
 \begin{frame}
-  \frametitle{Linux kernel size (1)}
+  \frametitle{Linux kernel size}
   \begin{itemize}
-  \item Linux 5.10.11 sources:\\
+  \item Linux v5.18 sources:\\
     \begin{itemize}
-	\item 70,639 files (\code{git ls-files | wc -l})
-	\item 29,746,102 lines (\code{git ls-files | xargs cat | wc -l})
-	\item 962,810,769 bytes (\code{git ls-files | xargs cat | wc -c})
+	\item 75,878 files (\code{git ls-files | wc -l})
+	\item 33,242,942 lines (\code{git ls-files | xargs cat | wc -l})
+	\item 1,154,591,060 bytes (\code{git ls-files | xargs cat | wc -c})
     \end{itemize}
   \item But a compressed Linux kernel just sizes a few megabytes.
   \item So, why are these sources so big?\\
@@ -95,34 +95,55 @@ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux}}
 \end{frame}
 
 \begin{frame}
-  \frametitle{Linux kernel size (2)}
-  As of kernel version 5.7 (in percentage of total number of lines).
+  \frametitle{Linux kernel sources structure}
+  As of kernel version v5.18 (in percentage of total number of lines).
   % Update the data by running utils/source-code-line-statistics
   % in the Linux kernel source directory
   \begin{columns}
-    \column[t]{0.5\textwidth}
+    \column[t]{0.33\textwidth}
+    Source code:
     \begin{itemize}
-       \item \kdir{drivers}: 60.1\%
-       \item \kdir{arch}: 12.9\%
-       \item \kdir{fs}: 4.7\%
-       \item \kdir{sound}: 4.2\%
-       \item \kdir{net}: 4.0\%
-       \item \kdir{include}: 3.6\%
-       \item \kdir{tools}: 3.2\%
-       \item \kdir{Documentation}: 3.2\%
-       \item \kdir{kernel}: 1.3\%
+    \item \kdir{drivers}: 61.1\%
+    \item \kdir{arch}: 11.6\%
+    \item \kdir{fs}: 4.4\%
+    \item \kdir{sound}: 4.1\%
+    \item \kdir{tools}: 3.9\%
+    \item \kdir{net}: 3.7\%
+    \item \kdir{include}: 3.5\%
+    \item \kdir{kernel}: 1.3\%
+    \item \kdir{lib}: 0.7\%
+    \item \kdir{usr}: 0.6\%
     \end{itemize}
-    \column[t]{0.5\textwidth}
+    \column[t]{0.33\textwidth}
     \begin{itemize}
-       \item \kdir{lib}: 0.6\%
-       \item \kdir{mm}: 0.5\%
-       \item \kdir{scripts}: 0.4\%
-       \item \kdir{crypto}: 0.4\%
-       \item \kdir{security}: 0.3\%
-       \item \kdir{block}: 0.2\%
-       \item \kdir{samples}: 0.1\%
-       \item \kdir{virt}: 0.1\%
-       \item ...
+    \item \kdir{mm}: 0.5\%
+    \item \kdir{scripts}: 0.4\%
+    \item \kdir{security}: 0.3\%
+    \item \kdir{crypto}: 0.3\%
+    \item \kdir{block}: 0.2\%
+    \item \kdir{samples}: 0.1\%
+    \item \kdir{ipc}: 0.0\%
+    \item \kdir{virt}: 0.0\%
+    \item \kdir{init}: 0.0\%
+    \item \kdir{certs}: 0.0\%
+    \end{itemize}
+    \column[t]{0.33\textwidth}
+    Doc and bindings:
+    \begin{itemize}
+    \item \kdir{Documentation}: 3.4\%
+    \end{itemize}
+    Build system files:
+    \begin{itemize}
+    \item \kfile{Kbuild}
+    \item \kfile{Kconfig}
+    \item \kfile{Makefile}
+    \end{itemize}
+    Other files:
+    \begin{itemize}
+    \item \kfile{COPYING}
+    \item \kfile{CREDITS}
+    \item \kfile{MAINTAINTERS}
+    \item \kfile{README}
     \end{itemize}
   \end{columns}
 \end{frame}




More information about the training-materials-updates mailing list