[bootlin/training-materials updates] master: kernel: split PROVE_LOCKING slides out of kernel (e2648c93)

Clément Léger clement.leger at bootlin.com
Tue Oct 25 10:52:08 CEST 2022


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

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

commit e2648c93fb95df05e9fcb05529ac9b5cc1aca49e
Author: Clément Léger <clement.leger at bootlin.com>
Date:   Wed Jun 1 16:22:06 2022 +0200

    kernel: split PROVE_LOCKING slides out of kernel
    
    Signed-off-by: Clément Léger <clement.leger at bootlin.com>


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

e2648c93fb95df05e9fcb05529ac9b5cc1aca49e
 common/prove-locking.tex                           | 26 +++++++++++++++++++++
 .../kernel-driver-development-concurrency.tex      | 27 +---------------------
 2 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/common/prove-locking.tex b/common/prove-locking.tex
new file mode 100644
index 00000000..7a74a7b1
--- /dev/null
+++ b/common/prove-locking.tex
@@ -0,0 +1,26 @@
+\begin{frame}
+  \frametitle{Debugging locking and concurrency issues}
+  \begin{itemize}
+  \item Lock debugging: prove locking correctness
+    \begin{itemize}
+    \item \kconfig{CONFIG_PROVE_LOCKING}
+    \item Adds instrumentation to kernel locking code
+    \item Detect violations of locking rules during system life, such as:
+      \begin{itemize}
+      \item Locks acquired in different order (keeps track of locking
+        sequences and compares them).
+      \item Spinlocks acquired in interrupt handlers and also in
+        process context when interrupts are enabled.
+      \end{itemize}
+    \item Not suitable for production systems but acceptable overhead
+      in development.
+    \item See \kdochtml{locking/lockdep-design} for details
+    \end{itemize}
+  \item Kernel Concurrency SANitizer framework
+     \begin{itemize}
+     \item \kconfig{CONFIG_KCSAN}, introduced in Linux 5.8.
+     \item Can find concurrency issues in your system.
+     \item See \url{https://lwn.net/Articles/816850/} for details.
+     \end{itemize}
+  \end{itemize}
+\end{frame}
diff --git a/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex b/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex
index 9d2f846d..7d6df550 100644
--- a/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex
+++ b/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex
@@ -222,32 +222,7 @@ static unsigned int ulite_tx_empty(struct uart_port *port) {
   \end{columns}
 \end{frame}
 
-\begin{frame}
-  \frametitle{Debugging locking and concurrency issues}
-  \begin{itemize}
-  \item Lock debugging: prove locking correctness
-    \begin{itemize}
-    \item \kconfig{CONFIG_PROVE_LOCKING}
-    \item Adds instrumentation to kernel locking code
-    \item Detect violations of locking rules during system life, such as:
-      \begin{itemize}
-      \item Locks acquired in different order (keeps track of locking
-        sequences and compares them).
-      \item Spinlocks acquired in interrupt handlers and also in
-        process context when interrupts are enabled.
-      \end{itemize}
-    \item Not suitable for production systems but acceptable overhead
-      in development.
-    \item See \kdochtml{locking/lockdep-design} for details
-    \end{itemize}
-  \item Kernel Concurrency SANitizer framework
-     \begin{itemize}
-     \item \kconfig{CONFIG_KCSAN}, introduced in Linux 5.8.
-     \item Can find concurrency issues in your system.
-     \item See \url{https://lwn.net/Articles/816850/} for details.
-     \end{itemize}
-  \end{itemize}
-\end{frame}
+\input{../common/prove-locking.tex}
 
 \begin{frame}
   \frametitle{Alternatives to locking}




More information about the training-materials-updates mailing list