[bootlin/training-materials updates] master: prove-locking: split concurrency and locking issues and add sleep in atomic (113c5c82)

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


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

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

commit 113c5c8202d0f89ee640670ce350e722f086255b
Author: Clément Léger <clement.leger at bootlin.com>
Date:   Wed Oct 19 16:41:53 2022 +0200

    prove-locking: split concurrency and locking issues and add sleep in atomic
    
    Signed-off-by: Clément Léger <clement.leger at bootlin.com>


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

113c5c8202d0f89ee640670ce350e722f086255b
 common/prove-locking.tex | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/common/prove-locking.tex b/common/prove-locking.tex
index 7a74a7b1..c89e60a9 100644
--- a/common/prove-locking.tex
+++ b/common/prove-locking.tex
@@ -1,5 +1,5 @@
 \begin{frame}
-  \frametitle{Debugging locking and concurrency issues}
+  \frametitle{Debugging locking}
   \begin{itemize}
   \item Lock debugging: prove locking correctness
     \begin{itemize}
@@ -16,11 +16,22 @@
       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}
+    \item \kconfig{CONFIG_DEBUG_ATOMIC_SLEEP} allows to detect code that
+      incorrectly sleeps in atomic section (while holding lock typically).
+      \begin{itemize}
+        \item Warning displayed in the dmesg in case of such violation.
+        \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Concurrency issues}
+  \begin{itemize}
+    \item Kernel Concurrency SANitizer framework
+    \item \kconfig{CONFIG_KCSAN}, introduced in Linux 5.8.
+    \item Dynamic race detector relying on compile time instrumentation. 
+    \item Can find concurrency issues (mainly data races) in your system.
+    \item See \kdochtml{dev-tools/kcsan} and
+        \url{https://lwn.net/Articles/816850/} for details.
   \end{itemize}
 \end{frame}




More information about the training-materials-updates mailing list