[bootlin/training-materials updates] master: Softirqs: calling them with their real nam (8d15858f)

Michael Opdenacker michael.opdenacker at bootlin.com
Fri Mar 15 16:02:34 CET 2019


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

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

commit 8d15858f1aa1b9628ae46825a075897b075b6368
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Fri Mar 15 16:02:34 2019 +0100

    Softirqs: calling them with their real nam
    
    - And providing Elixir links
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


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

8d15858f1aa1b9628ae46825a075897b075b6368
 .../kernel-driver-development-interrupts.tex       | 17 +++--
 .../thread-halves.dia                              | 89 +++++++++++++++++++---
 2 files changed, 88 insertions(+), 18 deletions(-)

diff --git a/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex b/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
index 6596e664..e84f11a7 100644
--- a/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
+++ b/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
@@ -207,10 +207,11 @@ int devm_request_threaded_irq(
     not directly used by drivers, but by complete kernel subsystems
     (network, etc.)
   \item The list of softirqs is defined in
-    \kfile{include/linux/interrupt.h}: \code{HI}, \code{TIMER},
-    \code{NET_TX}, \code{NET_RX}, \code{BLOCK}, \code{BLOCK_IOPOLL},
-    \code{TASKLET}, \code{SCHED}, \code{HRTIMER}, \code{RCU}
-  \item The \code{HI} and \code{TASKLET} softirqs are used to execute
+    \kfile{include/linux/interrupt.h}: \ksym{HI_SOFTIRQ}, \ksym{TIMER_SOFTIRQ}
+    \ksym{NET_TX_SOFTIRQ}, \ksym{NET_RX_SOFTIRQ}, \ksym{BLOCK_SOFTIRQ},
+    \ksym{IRQ_POLL_SOFTIRQ}, \ksym{TASKLET_SOFTIRQ},
+    \ksym{SCHED_SOFTIRQ}, \ksym{HRTIMER_SOFTIRQ}, \ksym{RCU_SOFTIRQ}
+  \item The \ksym{HI_SOFTIRQ} and \ksym{TASKLET_SOFTIRQ} softirqs are used to execute
     tasklets
   \end{itemize}
 \end{frame}
@@ -218,8 +219,8 @@ int devm_request_threaded_irq(
 \begin{frame}
   \frametitle{Tasklets}
   \begin{itemize}
-  \item Tasklets are executed within the \code{HI} and \code{TASKLET}
-    softirqs. They are executed with all interrupts enabled, but a
+  \item Tasklets are executed within the \ksym{HI_SOFTIRQ} and
+    \ksym{TASKLET_SOFTIRQ} softirqs. They are executed with all interrupts enabled, but a
     given tasklet is guaranteed to execute on a single CPU at a time.
   \item Tasklets are typically created with the \kfunc{tasklet_init}
     function, when your driver manages multiple devices, otherwise
@@ -229,9 +230,9 @@ int devm_request_threaded_irq(
   \item The interrupt handler can schedule tasklet execution with:
     \begin{itemize}
     \item \kfunc{tasklet_schedule} to get it executed in the
-      \code{TASKLET} softirq
+      \ksym{TASKLET_SOFTIRQ} softirq
     \item \kfunc{tasklet_hi_schedule} to get it executed in the
-      \code{HI} softirq (higher priority)
+      \ksym{HI_SOFTIRQ} softirq (higher priority)
     \end{itemize}
   \end{itemize}
 \end{frame}
diff --git a/slides/kernel-driver-development-interrupts/thread-halves.dia b/slides/kernel-driver-development-interrupts/thread-halves.dia
index f22bf90c..d19d3000 100644
--- a/slides/kernel-driver-development-interrupts/thread-halves.dia
+++ b/slides/kernel-driver-development-interrupts/thread-halves.dia
@@ -567,12 +567,13 @@
         <dia:point val="24.5,10"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="24.185,10;24.815,10.94"/>
+        <dia:rectangle val="22.9438,10;26.0798,11.8105"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#HI#</dia:string>
+            <dia:string>#HI
+_SOFTIRQ#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="Latin Modern Sans" style="0" name="Courier"/>
@@ -581,7 +582,7 @@
             <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="24.5,10.74"/>
+            <dia:point val="24.5,10.7635"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -603,12 +604,13 @@
         <dia:point val="29.5,10"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="28.2312,10;30.7688,10.94"/>
+        <dia:rectangle val="27.9438,10;31.0798,11.8105"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#NET_RX#</dia:string>
+            <dia:string>#NET_RX
+_SOFTIRQ#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="Latin Modern Sans" style="0" name="Courier"/>
@@ -617,7 +619,7 @@
             <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="29.5,10.74"/>
+            <dia:point val="29.5,10.7635"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -639,12 +641,13 @@
         <dia:point val="34.5,10"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="33.1125,10;35.8875,10.94"/>
+        <dia:rectangle val="32.9438,10;36.0797,11.8105"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#TASKLET#</dia:string>
+            <dia:string>#TASKLET
+_SOFTIRQ#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="Latin Modern Sans" style="0" name="Courier"/>
@@ -653,7 +656,7 @@
             <dia:real val="0.80000000000000004"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="34.5,10.74"/>
+            <dia:point val="34.5,10.7635"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000ff"/>
@@ -889,7 +892,7 @@ triggered#</dia:string>
         <dia:point val="27.05,15.45"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="23.8062,13.5367;30.2937,17.3633"/>
+        <dia:rectangle val="23.8063,13.5367;30.2938,17.3633"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -1210,5 +1213,71 @@ enabled#</dia:string>
         <dia:enum val="2"/>
       </dia:attribute>
     </dia:object>
+    <dia:object type="Standard - Text" version="1" id="O34">
+      <dia:attribute name="obj_pos">
+        <dia:point val="28.35,10.5"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="28.35,9.905;28.35,10.6525"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>##</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="28.35,10.5"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000ff"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="valign">
+        <dia:enum val="3"/>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="1" id="O35">
+      <dia:attribute name="obj_pos">
+        <dia:point val="18.95,10.5"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="18.95,9.905;18.95,10.6525"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>##</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="18.95,10.5"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000ff"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="valign">
+        <dia:enum val="3"/>
+      </dia:attribute>
+    </dia:object>
   </dia:layer>
 </dia:diagram>




More information about the training-materials-updates mailing list