[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