Uncontrolled interactions between scheduler partitions

Updated: May 06, 2022

There are cases where a scheduler partition can prevent other applications from being given their guaranteed percentage CPU:

Interrupt handlers

The time used in interrupt handlers is never throttled. That is, we always choose to execute the globally highest-priority interrupt handler, independent of its scheduler partition. This means that faulty hardware or software that causes too many interrupts can effectively limit the time available to other applications.

Time spent in interrupt threads (e.g., those that use InterruptAttachEvent()) is correctly charged to those threads' partitions.