Causes and Management of Interrupt Latencies
Interrupt latency is of particular concern to real-time systems developers. This topic examines its causes and RTX64 techniques for managing them.
Software Causes
Software causes of interrupt latencies include:
- Processor-level masking of all interrupts. The Windows kernel, HAL, and special system drivers may mask interrupts for up to 100ms.
- Interrupt-processing overhead.
Hardware Causes
Hardware causes of interrupt latencies include:
- Bus "hijacking" by peripheral devices. For example, a video card may stall the CPU's attempt to read the card's I/O space register.
- Burst DMA by SCSI controllers.
- Cache dirtying by Windows and applications.
- Most systems, particularly portables, can go to a low-power state for peripherals after a configurable time-out is set, and "wake up" with a delay that is intolerable to a real-time application.
- Battery management features using system management interrupt (SMI) cause delays of up to hundreds of microseconds.
- Intel's SpeedStep® technology can change processor speed, depending on load factors.
RTX64 Power Plan
RTX64 does not support Windows hibernation or hybrid sleep. These features must be disabled to provide real-time performance. To facilitate this process, the RTX64 Runtime installer clones your machine’s existing power plan and creates and enables a new power plan called RTX64-Recommended. We strongly advise that you modify this new power plan to match the settings detailed below.
NOTE: During uninstall, the RTX64 installer reactivates the original power plan and deletes the RTX64-Recommended plan.
Basic Settings
Category | Settings |
---|---|
Sleep | Sleep After = Never Allow hybrid sleep = Off Hibernate after = Never |
Advanced Settings
Category | Settings |
---|---|
Hard disk |
Turn off hard disk after = Never |
Sleep | Sleep After = Never Allow hybrid sleep = Off Hibernate after = Never |
PCI Express | Link State Power Management = Off |
Processor power management | Minimum processor state = 100% Maximum processor state = 100% |
Recommended Laptop Settings
On laptops, both AC and DC behaviors are set for all the above settings.
We also recommend the following settings when running RTX64 on a laptop:
Category | Settings |
---|---|
Processor power management | System cooling policy |
On battery | Active |
Plugged in | Passive |
NOTE: For optimal performance when running RTX64 on a laptop, we recommend that you convert Display adapters to Microsoft Basic Display Adapter in the Windows Device Manager. If you choose not to convert display adapters, you may experience latency.
Additional Latency Considerations
Other variables that can influence RTX64 performance include Windows device driver implementations, OpenGL usage, and legacy USB support. To minimize interrupt latencies, the OEM should disable the following:
- OpenGL applications
- Legacy USB support from the BIOS settings.
Related topics: