Re: about interrupt latency

Francesco Oppedisano
2005-03-09T14:45:41Z

On Tue, 8 Mar 2005 12:09:58 -0700 (MST), Zwane Mwaikambo
<zwane@arm.linux.org.uk> wrote:

> At some cpu frequency point on i386 the main cause of your interrupt
> service latency will be in the interrupt controller and how long from irq
> assertion to the signal being recognised, resultant vector being
> dispatched to the processor and the necessary interrupt controller
> acknowledge steps required. This is also helped by the fact that the
> Linux/i386 interrupt vector stubs are very small and fast, so there isn't
> all that much code to execute to reach the ISR from the vector table. I'm
> not sure if you've tested this, but you may notice that timer interrupt
> via Local APIC will have lower dispatch latency than timer interrupt via
> i8259 only. But that's all at the lower end of the latency graph, you will
> most likely run into other sources on a busy system.
>
> Zwane
>
Very interesting zwane....i haven't tested the local APIC....do you
think this dispatch time can vary with the system I/O load (many
pending interrupts in the PIC)?

I think the interrupt latency is influenced even by the code inside
the kernel: if a lot of code is running with interrupts disabled then
the interrupt latency will grow. Am i right?

So probably we can state that the factors influencing the interrupt latency are:
1)Dispatching time in the PIC
2)Waiting time on the PIC (if there are pending interrupt of lower vector)
3)fetching ISR from main memory
4)wait time when CPU is running with disabled interrupt

Do U agree?

Thank u very much
Francesco Oppedisano