[FE training-materials-updates] [git/training-materials] master: Kernel slides: group sleeping implementation diagram and details (011a79d)

Michael Opdenacker michael.opdenacker at free-electrons.com
Fri Dec 9 00:10:28 CET 2016


Repository : git://git.free-electrons.com/training-materials.git
On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=011a79d6c00c57bca8f74c75479c45bd9d928972

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

commit 011a79d6c00c57bca8f74c75479c45bd9d928972
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Thu Dec 8 23:09:14 2016 +0100

    Kernel slides: group sleeping implementation diagram and details
    
    - Weird to explain things again after showing the diagram
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


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

011a79d6c00c57bca8f74c75479c45bd9d928972
 .../kernel-driver-development-sleeping.tex         | 37 ++++++++++------------
 1 file changed, 16 insertions(+), 21 deletions(-)

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 e2decd9..e612ef6 100644
--- a/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
+++ b/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
@@ -136,26 +136,21 @@ if (ret)
 \end{frame}
 
 \begin{frame}[fragile]
-  \frametitle{Sleeping and waking up - Implementation 1/2}
-  \begin{center}
-    \includegraphics[height=0.8\textheight]{slides/kernel-driver-development-sleeping/wait-event.pdf}\\
-  \end{center}
+  \frametitle{Sleeping and waking up - Implementation}
+  \begin{columns}
+    \column{0.5\textwidth}
+      \includegraphics[height=0.8\textheight]{slides/kernel-driver-development-sleeping/wait-event.pdf}\\
+    \column{0.5\textwidth}
+       The scheduler doesn't keep evaluating the sleeping condition!
+       \begin{itemize}
+       \item \mint{c}+wait_event(queue, cond);+
+         The process is put in the \ksym{TASK_UNINTERRUPTIBLE} state.
+       \item \mint{c}+wake_up(&queue);+
+         All processes waiting in \code{queue} are woken up, so they get
+         scheduled later and have the opportunity to evaluate the
+         condition again and go back to sleep if it is not met.
+       \end{itemize}
+       See \kpath{include/linux/wait.h} for implementation details.
+  \end{columns}
 \end{frame}
 
-\begin{frame}[fragile]
-  \frametitle{Sleeping and waking up - Implementation 2/2}
-  The scheduler doesn't keep evaluating the sleeping condition!\\
-  \begin{itemize}
-  \item \mint{c}+wait_event(queue, condition);+
-    \begin{itemize}
-    \item The process is put in the \ksym{TASK_UNINTERRUPTIBLE} state.
-    \end{itemize}
-  \item \mint{c}+wake_up(&queue);+
-    \begin{itemize}
-    \item All processes waiting in \code{queue} are woken up, so they get
-      scheduled later and have the opportunity to evaluate the
-      condition again and go back to sleep if it is not met.
-    \end{itemize}
-  \end{itemize}
-  See \kpath{include/linux/wait.h} for implementation details.
-\end{frame}




More information about the training-materials-updates mailing list