<div dir="ltr"><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(34,36,38);font-family:Arial,&#39;Helvetica Neue&#39;,Helvetica,sans-serif;line-height:15.6px">When an Interrupt occurs most device drivers creates a critical section using spin_lock_irqsave or spin_lock_irq which disables the interrupt.</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(34,36,38);font-family:Arial,&#39;Helvetica Neue&#39;,Helvetica,sans-serif;line-height:15.6px">In such a case the Interrupts are disabled by the IRQ handler. My question is whether Linux kernel disables any interrupts just when the IRQ handler executes or it just wait for the IRQ handler programmer to disable the IRQ in whatever way?</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(34,36,38);font-family:Arial,&#39;Helvetica Neue&#39;,Helvetica,sans-serif;line-height:15.6px">My understanding is that Russel King has implemented IRQ_DISABLED, If this flag is set then only the IRQ that has occurred is disabled lately however enabled automatically by Kernel after IRQ handler finishes. Is that correct? This also happens in delayed manner.Can anyone explain me how exactly the IRQ disabling is delayed?</p><p style="margin:0px 0px 1em;padding:0px;border:0px;clear:both">From free-electrons <a href="http://free-electrons.com/kerneldoc/latest/DocBook/genericirq/Highlevel_IRQ_flow_handlers.html">link </a>, what I read is :- </p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(34,36,38);font-family:Arial,&#39;Helvetica Neue&#39;,Helvetica,sans-serif;line-height:15.6px"><span style="color:rgb(0,0,0);font-family:&#39;Times New Roman&#39;;font-size:medium;line-height:normal"><b>The interrupt is kept enabled and is masked in the flow handler when an interrupt event happens</b>. This prevents losing edge interrupts on hardware which does not store an edge interrupt event while the interrupt is disabled at the hardware level.</span></p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(34,36,38);font-family:Arial,&#39;Helvetica Neue&#39;,Helvetica,sans-serif;line-height:15.6px"><span style="color:rgb(0,0,0);font-family:&#39;Times New Roman&#39;;font-size:medium;line-height:normal">Can anyone please explain the bold line here?</span><br></p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(34,36,38);font-family:Arial,&#39;Helvetica Neue&#39;,Helvetica,sans-serif;line-height:15.6px">Regards,</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:15px;clear:both;color:rgb(34,36,38);font-family:Arial,&#39;Helvetica Neue&#39;,Helvetica,sans-serif;line-height:15.6px">Priyaranjan</p></div>