[bootlin/training-materials updates] master: kernel-source: Reorder the API stability slides (33c94b33)
Miquel Raynal
miquel.raynal at bootlin.com
Wed Jan 18 14:27:53 CET 2023
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/33c94b33a31f5463f6a1e5f20831b5baf04be555
>---------------------------------------------------------------
commit 33c94b33a31f5463f6a1e5f20831b5baf04be555
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date: Wed Jan 18 12:51:11 2023 +0100
kernel-source: Reorder the API stability slides
Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
>---------------------------------------------------------------
33c94b33a31f5463f6a1e5f20831b5baf04be555
.../kernel-source-code-drivers.tex | 54 +++++++++++-----------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex b/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
index e5ecbe45..9c8d9b22 100644
--- a/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
+++ b/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
@@ -61,31 +61,30 @@
\end{frame}
\begin{frame}
- \frametitle{Linux internal API/ABI instability}
+ \frametitle{Linux kernel to user API/ABI stability}
\begin{columns}
\column{0.7\textwidth}
- Linux internal API is not stable
+ Linux kernel to userspace API is stable
\begin{itemize}
- \item The source code of a driver is not portable across versions
+ \item Source code for userspace applications will not have to be
+ updated when compiling for a more recent kernel
\begin{itemize}
- \item In-tree drivers are updated by the developer proposing the API
- change: works great for mainline code
- \item An out-of-tree driver compiled for a given version may no
- longer compile or work on a more recent one
- \item See \kdochtml{process/stable-api-nonsense} for reasons why
+ \item System calls, \code{/proc} and \code{/sys} content cannot be
+ removed or changed. Only new entries can be added.
\end{itemize}
\end{itemize}
- Linux internal ABI is not stable
+ Linux kernel to userspace ABI is stable
\begin{itemize}
- \item A binary module compiled for a given kernel version cannot be
- used with another version
+ \item Binaries are portable and can be executed on a more recent
+ kernel
\begin{itemize}
- \item The module loading utilities will perform this check prior
- to the insertion
+ \item The way memory is accessed, the size of the variables in
+ memory, how structures are organized, the calling convention,
+ etc, are all stable over time.
\end{itemize}
\end{itemize}
\column{0.3\textwidth}
- \includegraphics[height=0.8\textheight]{slides/kernel-source-code-drivers/linux-internal-api.pdf}
+ \includegraphics[height=0.8\textheight]{slides/kernel-source-code-drivers/linux-user-api.pdf}
\tiny
Modified Image from Wikipedia:\\
\url{https://bit.ly/2U2rdGB}
@@ -93,30 +92,31 @@
\end{frame}
\begin{frame}
- \frametitle{Linux kernel to user API/ABI stability}
+ \frametitle{Linux internal API/ABI instability}
\begin{columns}
\column{0.7\textwidth}
- Linux kernel to userspace API is stable
+ Linux internal API is not stable
\begin{itemize}
- \item Source code for userspace applications will not have to be
- updated when compiling for a more recent kernel
+ \item The source code of a driver is not portable across versions
\begin{itemize}
- \item System calls, \code{/proc} and \code{/sys} content cannot be
- removed or changed. Only new entries can be added.
+ \item In-tree drivers are updated by the developer proposing the API
+ change: works great for mainline code
+ \item An out-of-tree driver compiled for a given version may no
+ longer compile or work on a more recent one
+ \item See \kdochtml{process/stable-api-nonsense} for reasons why
\end{itemize}
\end{itemize}
- Linux kernel to userspace ABI is stable
+ Linux internal ABI is not stable
\begin{itemize}
- \item Binaries are portable and can be executed on a more recent
- kernel
+ \item A binary module compiled for a given kernel version cannot be
+ used with another version
\begin{itemize}
- \item The way memory is accessed, the size of the variables in
- memory, how structures are organized, the calling convention,
- etc, are all stable over time.
+ \item The module loading utilities will perform this check prior
+ to the insertion
\end{itemize}
\end{itemize}
\column{0.3\textwidth}
- \includegraphics[height=0.8\textheight]{slides/kernel-source-code-drivers/linux-user-api.pdf}
+ \includegraphics[height=0.8\textheight]{slides/kernel-source-code-drivers/linux-internal-api.pdf}
\tiny
Modified Image from Wikipedia:\\
\url{https://bit.ly/2U2rdGB}
More information about the training-materials-updates
mailing list