[bootlin/training-materials updates] master: Kernel slides: minor improvements (9dfbbce2)

Michael Opdenacker michael.opdenacker at bootlin.com
Tue Nov 26 13:31:08 CET 2019


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

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

commit 9dfbbce2e870184ea00984dc2ae486f599ba46d4
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Tue Nov 26 13:31:08 2019 +0100

    Kernel slides: minor improvements
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


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

9dfbbce2e870184ea00984dc2ae486f599ba46d4
 .../kernel-driver-development-dma.tex                |  4 ++--
 .../kernel-driver-development-memory.tex             |  2 +-
 .../kernel-driver-development-sleeping.tex           | 20 +++++++++++---------
 .../kernel-power-management-content.tex              |  2 +-
 4 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/slides/kernel-driver-development-dma/kernel-driver-development-dma.tex b/slides/kernel-driver-development-dma/kernel-driver-development-dma.tex
index a65aa045..68c88799 100644
--- a/slides/kernel-driver-development-dma/kernel-driver-development-dma.tex
+++ b/slides/kernel-driver-development-dma/kernel-driver-development-dma.tex
@@ -51,8 +51,8 @@
     \begin{itemize}
     \item Using the cache can be more efficient (faster accesses to
       the cache than the bus)
-    \item But the DMA does not access to the CPU cache, so one need to
-      take care of cache coherency (cache content vs memory content)
+    \item But the DMA does not access the CPU cache, so one needs to
+      take care of cache coherency (cache content vs. memory content)
     \item Either flush or invalidate the cache lines corresponding to
       the buffer accessed by DMA and processor at strategic times
     \end{itemize}
diff --git a/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex b/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
index b340dc53..f7f6ace6 100644
--- a/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
+++ b/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
@@ -352,7 +352,7 @@ kfree(work);
 \begin{frame}
   \frametitle{Kernel memory debugging}
   \begin{itemize}
-  \item \code{KASAN}
+  \item \code{KASAN} ({\em Kernel Address Sanitizer})
     \begin{itemize}
     \item Dynamic memory error detector, to find use-after-free and
       out-of-bounds bugs.
diff --git a/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex b/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
index e2761193..b4254c69 100644
--- a/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
+++ b/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
@@ -55,6 +55,7 @@ init_waitqueue_head(&dev->smi_busy_wait);
     \end{itemize}
   \item \mint{c}+int wait_event_interruptible(queue, condition);+
     \begin{itemize}
+    \item The most common variant
     \item Can be interrupted by any signal. Returns
       \code{-}\ksym{ERESTARTSYS} if interrupted.
     \end{itemize}
@@ -66,8 +67,9 @@ init_waitqueue_head(&dev->smi_busy_wait);
   \begin{itemize}
   \item \mint{c}+int wait_event_timeout(queue, condition, timeout);+
     \begin{itemize}
-    \item Also stops sleeping when the task is woken up and the
-      timeout expired. Returns \code{0} if the timeout elapsed, non-zero if
+    \item Also stops sleeping when the task is woken up {\bf or} the
+      timeout expired (a timer is used).
+    \item Returns \code{0} if the timeout elapsed, non-zero if
       the condition was met.
     \end{itemize}
   \item \begin{minted}{c}
@@ -75,7 +77,8 @@ int wait_event_interruptible_timeout(queue,
                          condition, timeout);
   \end{minted}
     \begin{itemize}
-    \item Same as above, interruptible. Returns \code{0} if the timeout
+    \item Same as above, interruptible.
+    \item Returns \code{0} if the timeout
       elapsed, \code{-}\ksym{ERESTARTSYS} if interrupted, positive value if
       the condition was met.
     \end{itemize}
@@ -85,13 +88,12 @@ int wait_event_interruptible_timeout(queue,
 \begin{frame}[fragile]
 \frametitle{How to Sleep - Example}
 \begin{minted}{c}
-ret = wait_event_interruptible
-        (sonypi_device.fifo_proc_list,
-         kfifo_len(sonypi_device.fifo) != 0);
-
-if (ret)
-        return ret;
+sig = wait_event_interruptible(ibmvtpm->wq,
+                               !ibmvtpm->tpm_processing_cmd);
+if (sig)
+        return -EINTR;
 \end{minted}
+From \kfile{char/tpm/tpm_ibmvtpm.c}
 \end{frame}
 
 \begin{frame}
diff --git a/slides/kernel-power-management-content/kernel-power-management-content.tex b/slides/kernel-power-management-content/kernel-power-management-content.tex
index 0e5b2936..912ba358 100644
--- a/slides/kernel-power-management-content/kernel-power-management-content.tex
+++ b/slides/kernel-power-management-content/kernel-power-management-content.tex
@@ -91,7 +91,7 @@
   \frametitle{Suspend and resume}
   \begin{itemize}
   \item Infrastructure in the kernel to support suspend and resume
-  \item Platform hooks
+  \item System on Chip hooks
     \begin{itemize}
     \item \code{prepare()}, \code{enter()}, \code{finish()},
       \code{valid()} in a \kstruct{platform_suspend_ops} structure




More information about the training-materials-updates mailing list