[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Shared Interrupt handling.
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.
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