[bootlin/training-materials updates] master: Further clarification (4e253925)

Michael Opdenacker michael.opdenacker at bootlin.com
Sun Dec 13 19:19:17 CET 2020


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

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

commit 4e253925a6ee86965b8267520e28459a30165a7c
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Sun Dec 13 19:19:17 2020 +0100

    Further clarification
    
    - Suggested by a participant
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


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

4e253925a6ee86965b8267520e28459a30165a7c
 .../common/bootloader/beaglebone-black/README.txt  |  4 +-
 .../kernel-driver-development-concurrency.tex      |  2 +-
 .../kernel-driver-development-io-memory.tex        |  4 +-
 .../kernel-driver-development-memory.tex           | 11 +++--
 .../threads-life.dia                               | 56 +++++++++++-----------
 .../kernel-driver-development-sleeping.tex         |  2 +-
 6 files changed, 40 insertions(+), 39 deletions(-)

diff --git a/lab-data/common/bootloader/beaglebone-black/README.txt b/lab-data/common/bootloader/beaglebone-black/README.txt
index 53de21f5..f4b2b2b1 100644
--- a/lab-data/common/bootloader/beaglebone-black/README.txt
+++ b/lab-data/common/bootloader/beaglebone-black/README.txt
@@ -70,8 +70,8 @@ line.
 
 First, insert the micro-SD card in the corresponding slot in the board.
 
-Then, press and hold the 'Boot Switch' button (the only one near the USB
-host slot), power up the board (either through the power or USB device
+Then, press and hold the 'Boot Switch' button (the only one close to the
+micro-SD slot), power up the board (either through the power or USB device
 connectors), and release the button.
 
 After about 20 to 30 seconds, you should see the 4 LEDs next to the Ethernet
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 56f0c459..c7d7166b 100644
--- a/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex
+++ b/slides/kernel-driver-development-concurrency/kernel-driver-development-concurrency.tex
@@ -213,7 +213,7 @@ static unsigned int ulite_tx_empty
 \end{frame}
 
 \begin{frame}
-  \frametitle{Kernel lock validator}
+  \frametitle{Debugging locking and concurrency issues}
   \begin{itemize}
   \item From Ingo Molnar and Arjan van de Ven
     \begin{itemize}
diff --git a/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex b/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex
index 180cfb78..a93c2cdb 100644
--- a/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex
+++ b/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex
@@ -3,14 +3,14 @@
 \begin{frame}
   \frametitle{Port I/O vs. Memory-Mapped I/O}
   \begin{itemize}
-  \item MMIO
+  \item Memory-Mapped I/O (MMIO)
     \begin{itemize}
     \item Same address bus to address memory and I/O devices
     \item Access to the I/O devices using regular instructions
     \item Most widely used I/O method across the different
       architectures supported by Linux
     \end{itemize}
-  \item PIO
+  \item Port I/O (PIO)
     \begin{itemize}
     \item Different address spaces for memory and I/O devices
     \item Uses a special class of CPU instructions to access I/O
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 0f758f08..d62c7a92 100644
--- a/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
+++ b/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
@@ -109,9 +109,9 @@
     16 pages, etc.
   \item Typical maximum size is 8192 KB, but it might depend on the
     kernel configuration.
-  \item The allocated area is virtually contiguous (of course), but
-    also physically contiguous. It is allocated in the identity-mapped
-    part of the kernel memory space.
+  \item The allocated area is contiguous in the kernel virtual address
+    space, but also maps to also physically contiguous pages. It is
+    allocated in the identity-mapped part of the kernel memory space.
     \begin{itemize}
     \item This means that large areas may not be available or hard to
       retrieve due to physical memory fragmentation.
@@ -324,8 +324,9 @@ kfree(work);
 \begin{frame}[fragile]
   \frametitle{vmalloc Allocator}
   \begin{itemize}
-  \item The \kfunc{vmalloc} allocator can be used to obtain virtually
-    contiguous memory zones, but not physically contiguous. The
+  \item The \kfunc{vmalloc} allocator can be used to obtain
+    memory zones that are contiguous in the virtual addressing space,
+    but not made out of physically contiguous pages. The
     requested memory size is rounded up to the next page.
   \item The allocated area is in the kernel space part of the address
     space, but outside of the identically-mapped area
diff --git a/slides/kernel-driver-development-processes/threads-life.dia b/slides/kernel-driver-development-processes/threads-life.dia
index 2b20cfa6..207f567d 100644
--- a/slides/kernel-driver-development-processes/threads-life.dia
+++ b/slides/kernel-driver-development-processes/threads-life.dia
@@ -241,13 +241,13 @@
         <dia:point val="10.5,2"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="7.73125,2;13.2688,4.29833"/>
+        <dia:rectangle val="7.81375,2;13.2172,4.3899"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
             <dia:string>#
-Thread Created#</dia:string>
+Thread created#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="Latin Modern Sans" style="0" name="Courier"/>
@@ -256,7 +256,7 @@ Thread Created#</dia:string>
             <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="10.5,2.9775"/>
+            <dia:point val="10.5,3.00802"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -278,7 +278,7 @@ Thread Created#</dia:string>
         <dia:point val="10.5,7"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="7.8825,4.09056;13.1175,7"/>
+        <dia:rectangle val="7.8825,4.09204;13.1175,7"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -294,7 +294,7 @@ pthread_create()
             <dia:real val="0.91722218692302704"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="10.5,4.93806"/>
+            <dia:point val="10.5,4.93882"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -345,7 +345,7 @@ pthread_create()
         <dia:point val="31.5,7"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="26.38,2.25611;36.62,7"/>
+        <dia:rectangle val="26.38,2.2576;36.62,7"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -363,7 +363,7 @@ its death
             <dia:real val="0.91722218692302704"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="31.5,3.10361"/>
+            <dia:point val="31.5,3.10438"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -385,7 +385,7 @@ its death
         <dia:point val="31.5,0"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="28.6837,0;34.3162,2.29833"/>
+        <dia:rectangle val="28.6837,0;34.3162,2.297"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -400,7 +400,7 @@ EXIT_ZOMBIE#</dia:string>
             <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="31.5,0.9775"/>
+            <dia:point val="31.5,0.977051"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -451,7 +451,7 @@ EXIT_ZOMBIE#</dia:string>
         <dia:point val="10.5,10"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="7.2875,10;13.7125,12.2983"/>
+        <dia:rectangle val="7.2875,10;13.7125,12.297"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -466,7 +466,7 @@ TASK_RUNNING#</dia:string>
             <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="10.5,10.9775"/>
+            <dia:point val="10.5,10.9771"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -488,7 +488,7 @@ TASK_RUNNING#</dia:string>
         <dia:point val="10.5,15"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="7.0225,13.0078;13.9775,15"/>
+        <dia:rectangle val="7.0225,13.0093;13.9775,15"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -503,7 +503,7 @@ TASK_RUNNING#</dia:string>
             <dia:real val="0.91722218692302704"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="10.5,13.8553"/>
+            <dia:point val="10.5,13.856"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -554,7 +554,7 @@ TASK_RUNNING#</dia:string>
         <dia:point val="31.5,10"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="28.2875,10;34.7125,12.2983"/>
+        <dia:rectangle val="28.2875,10;34.7125,12.297"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -569,7 +569,7 @@ TASK_RUNNING#</dia:string>
             <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="31.5,10.9775"/>
+            <dia:point val="31.5,10.9771"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -591,7 +591,7 @@ TASK_RUNNING#</dia:string>
         <dia:point val="31.5,15"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="28.9812,13.0078;34.0187,15"/>
+        <dia:rectangle val="28.9812,13.0093;34.0187,15"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -606,7 +606,7 @@ TASK_RUNNING#</dia:string>
             <dia:real val="0.91722218692302704"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="31.5,13.8553"/>
+            <dia:point val="31.5,13.856"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -657,7 +657,7 @@ TASK_RUNNING#</dia:string>
         <dia:point val="21,19"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="15.8225,19;26.1775,22.3567"/>
+        <dia:rectangle val="15.8225,19;26.1775,22.3553"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -673,7 +673,7 @@ or TASK_KILLABLE#</dia:string>
             <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="21,19.9775"/>
+            <dia:point val="21,19.9771"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -695,7 +695,7 @@ or TASK_KILLABLE#</dia:string>
         <dia:point val="21,24"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="19.8062,22.0078;22.1937,24"/>
+        <dia:rectangle val="19.8062,22.0093;22.1937,24"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -710,7 +710,7 @@ or TASK_KILLABLE#</dia:string>
             <dia:real val="0.91722218692302704"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="21,22.8553"/>
+            <dia:point val="21,22.856"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -732,7 +732,7 @@ or TASK_KILLABLE#</dia:string>
         <dia:point val="21,9"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="17.7662,8.00389;24.2338,9.99611"/>
+        <dia:rectangle val="17.7662,8.00463;24.2338,9.99537"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -747,7 +747,7 @@ by the scheduler#</dia:string>
             <dia:real val="0.91722218692302704"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="21,8.85139"/>
+            <dia:point val="21,8.85141"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -766,7 +766,7 @@ by the scheduler#</dia:string>
         <dia:point val="20,16"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="20,15.26;20,16.2"/>
+        <dia:rectangle val="20,15.2614;20,16.1978"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -855,7 +855,7 @@ by the scheduler#</dia:string>
         <dia:point val="21,17"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="16.5562,15.5453;25.4437,18.4547"/>
+        <dia:rectangle val="16.5562,15.546;25.4437,18.454"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -890,7 +890,7 @@ priority task#</dia:string>
         <dia:point val="32,20"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="32,19.1525;42.09,21.1447"/>
+        <dia:rectangle val="32,19.1532;42.09,21.144"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -924,7 +924,7 @@ for a specific event#</dia:string>
         <dia:point val="10.05,20"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="2.4025,18.73;10.05,21.27"/>
+        <dia:rectangle val="2.4025,18.7318;10.05,21.2682"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -940,7 +940,7 @@ becomes runnable again.#</dia:string>
             <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="10.05,19.47"/>
+            <dia:point val="10.05,19.4704"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
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 b4254c69..cfa08387 100644
--- a/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
+++ b/slides/kernel-driver-development-sleeping/kernel-driver-development-sleeping.tex
@@ -44,7 +44,7 @@ init_waitqueue_head(&dev->smi_busy_wait);
   \begin{itemize}
   \item \mint{c}+void wait_event(queue, condition);+
     \begin{itemize}
-    \item Sleeps until the task is woken up and the given C
+    \item Sleeps until the task is woken up {\bf and} the given C
       expression is true. Caution: can't be interrupted (can't kill
       the user space process!)
     \end{itemize}




More information about the training-materials-updates mailing list