· Introduction

· Supported OS

· How to use

· What's new ?

· In-depth latency tests


· Professional Edition

· Download Home Edition

· Buy Professional Edition

IPIs, SMIs and CPU stalls

Note: in LatencyMon v6 the functionality to measure IPIs, SMIs and CPU stalls has been moved to the In Depth Latency Tests utility.

LatencyMon is equipped to measure SMIs and mysterious CPU stalls. Certain latency problems exist which cannot be attributed to the operating system (including the drivers and the software that it runs) or to any of the hardware that is not directly connected to the system. From the perspective of the operating system it may seem as if a CPU temporarily stalls in a mysterious way. LatencyMon opportunistically measures such stalls and reports them as "Highest measured SMIs or CPU stall". Latencies reported as SMIs or CPU stalls can be caused by any of the following:

  • An IPI (Inter Processor Interrupt) initiated by either software or hardware
  • An SMI (System Management Interrupt) routine executing in SMM (System Management Mode)
  • A bug in the CPU design which causes the CPU to temporarily freeze
  • Another unknown CPU factor

    If your system experiences latency problems because of these you may be able to solve the issue by disabling certain power management features of the CPU. Check out the documentation on CPU Power Management issues.

    These stalls are opportunistically polled now and then. The highest measured values reported by the software are not to be considered absolute maximums.

    About System Management Interrupts

    SMM is a special-purpose operating mode of the processor provided for handling system-wide functions like power management, system hardware control, or proprietary OEM designed code. It is intended for use only by the BIOS or firmware interface, not by applications or the operating system.

    SMIs are interrupt routines that the CPU excecutes in SMM beyond the control of the operating system. SMIs take precedence over any other maskable or non-maskable interrupt.
    For more information refer to the following Wikipedia article: System Management Mode or check the Intel Architectures System Programming Guide.

    About CPU bugs

    Unexplainable CPU stalls may be caused by bugs in the design of the CPU. A lot of CPU bugs in modern CPUs are related to CPU C-states and P-states and can freeze a processor indefinitely until certain conditions are met. Check out the errata (spec update) regarding your CPU on the manufacturers website of your processor for more information.

    LatencyMon documentation and articles

     · Introduction
     · Supported Operating Systems
     · Professional Edition
     · What's new ?
     · FAQ
     · How to use LatencyMon
     · CPU Power Management issues
     · Interrupt to user process latencies
     · In Depth Latency Tests
     · SMIs and CPU stalls
     · Technical information
     · "Windows and Real-time", guest article for kernel developers published by OSR

    Note: this content is currently being updated.

    Copyright © 1997-2024 Resplendence Software Projects. All rights reserved. Privacy Policy.
    Page generated on 5/22/2024 5:06:54 PM. Last updated on 12/12/2019 7:23:09 PM.