Hello, in some situations, the Linux kernel may disable interrupts using local_irq_disable(). On x86 systems this is implemented with the CLI assembly instruction, which sets the CPU's IF flag to 0. The IA32 System Programming Guide says about clearing the IF flag: > When the IF flag is clear, the processor inhibits interrupts delivered to > the INTR pin or through the local APIC from generating an internal > interrupt request. As far as I understand this passage, interrupts delivered to the processor are disposed and not put into some kind of internal queue. What if an important interrupt, i.e. an interrupt that has to be handled as soon as possible, is sent to the processor while the IF flag is set to 0? The kernel will never notice this event, unless the interrupt is resent again later by the device. Is this correct? Wouldn't it be more efficient to add the missed interrupts to a queue to deal with it as soon as interrupts have been enabled again? Regards, Erik -- Erik Scharwaechter http://diozaka.org GPG: 0x42B654AB -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/