Influence of SMI on real-time performance
System Management Interrupt (SMI) is used to provide extended functions, such as simulating older hardware devices. You can also use them to manage some systems. Like NMI, SMI also uses hard connections to send signals directly to the CPU, and cannot be blocked.
After the CPU receives the SMI signal, it enters the system management mode (SMM: system management mode ). In this mode, a very high-level processing routine processes SMI. Generally, SMM is provided by the system management firmware, such as BIOS or EFI.
The most widely used SMI is traditional hardware simulation. The most common example is the simulation of a soft drive. If the system does not have a soft drive, you can replace it with a virtualized Network Management simulator. When the operating system tries to access a floppy disk, the SMI will be triggered, and a trusted processor will provide a simulated device to the operating system. The operating system can operate the simulation device like an old-fashioned device.
SMI significantly affects the real-time performance of the real-time system. Because the occurrence and processing of SMI are invisible to the operating system. If the SMI processing function is not well written, it will take many milliseconds to execute. During this period, the operating system cannot seize the processing functions of SMI even if needed. If you do not configure the system carefully, this will trigger a periodic high latency and prolong the system response time. Unfortunately, SMI processing functions are usually used by manufacturers to manage CPU temperature and fan control, which cannot be disabled. We hope hardware vendors will pay attention to this issue in the future.