Re: Shared Interrupt handling.

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

 



On 5/4/07, pradeep singh <2500.pradeep@xxxxxxxxx> wrote:
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?

If the interrupts are disabled at the APIC level (disable_irq()), then
no. If the interrupts are disabled at the processor
(local_irq_disable()), then yes.

Somebody please CMIIW

Thanks,

Rajat

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux