On 5/4/07, Rajat Jain <rajat.noida.india@xxxxxxxxx> wrote:
Hi, > > The interrupts are disabled at the interrupt controller while kernel > > is handling an IRQ. So any new interrupt generated before the kernel > > handles the old interrupt will be lost. > > > I'm a little confused with your comment above. "INT lost while kernel > processing the last INT". > I would think it won't be lost, maybe more like delayed in processing. > Doesn't the interrupt controller send the INT when the kernel re-enables the > INT again. > With what u are suggesting we would lose INT a lot. Here is an extract from the LDD3 sec 10.7: "void disable_irq(int irq); void disable_irq_nosync(int irq); void enable_irq(int irq); A driver can enable and disable interrupt reporting. If the hardware tries to generate an interrupt while interrupts are disabled, the interrupt is lost forever. A driver using a shared handler must not use these functions." These are the functions that disable / enable irq at the PIC level.
So do you mean, no interrupts are kind of buffered in the Local APIC while the APIC is waiting for EOI? ~psr
HTH, Rajat -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ
-- play the game -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ