Interrupt latency

Another factor of concern for realtime systems is the amount of time taken between the generation of the hardware interrupt and the first line of code executed by the ISR.

There are two factors to consider here:

  • If any thread in the system calls InterruptDisable() or InterruptLock(), then no interrupts are processed until the InterruptEnable() or InterruptUnlock() function call is issued.
  • In any event, if interrupts are enabled, the kernel begins executing the first line of the first ISR (in case multiple ISRs are associated with an interrupt) in short order (e.g., under 21 CPU instructions on an x86).
Page updated: