[FE training-materials-updates] Add details about IRQs running with disabled interrupts

Michael Opdenacker michael.opdenacker at free-electrons.com
Fri Apr 11 17:23:17 CEST 2014


Repository : git://git.free-electrons.com/training-materials.git

On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=9cc09b66a7effb6f9e6f890504fbc0874fa4098c

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

commit 9cc09b66a7effb6f9e6f890504fbc0874fa4098c
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Fri Apr 11 17:21:43 2014 +0200

    Add details about IRQs running with disabled interrupts
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


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

9cc09b66a7effb6f9e6f890504fbc0874fa4098c
 .../kernel-driver-development-interrupts.tex       |    7 ++++---
 1 file changed, 4 insertions(+), 3 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 88b2745..e0412d3 100644
--- a/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
+++ b/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex
@@ -65,13 +65,14 @@ void devm_free_irq(struct device *dev,
   \frametitle{Interrupt handler constraints}
   \begin{itemize}
   \item No guarantee in which address space the system will be in when
-    the interrupt occurs: can't transfer data to and from user space
+    the interrupt occurs: can't transfer data to and from user space.
   \item Interrupt handler execution is managed by the CPU, not by the
     scheduler.  Handlers can't run actions that may sleep, because
     there is nothing to resume their execution. In particular, need to
     allocate memory with \ksym{GFP_ATOMIC}.
-  \item Interrupt handlers are run with all interrupts disabled (since
-    2.6.36).  Therefore, they have to complete their job quickly
+  \item Interrupt handlers are run with all interrupts disabled on
+    the local CPU (see \url{http://lwn.net/Articles/380931}).
+    Therefore, they have to complete their job quickly
     enough, to avoiding blocking interrupts for too long.
   \end{itemize}
 \end{frame}



More information about the training-materials-updates mailing list