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.