[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shared Interrupt handling.



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