This is unreleased documentation for SUSE® Storage 1.10 (Dev). |
Interrupt Mode
Starting with v1.10.0, SUSE Storage supports SPDK interrupt mode for V2 data engine volumes. Interrupt mode provides an alternative to the default polling mode, offering improved CPU efficiency in certain environments.
Interrupt mode is particularly suitable for clusters with limited CPU resources and a relatively small number of volumes. While polling mode maximizes performance by keeping CPU utilization close to 100% on allocated cores, interrupt mode reduces CPU usage by allowing the SPDK reactor to adjust its usage dynamically instead of continuously polling.
Overview
Polling mode vs. Interrupt mode
-
Polling Mode (Default):
-
It continuously polls for I/O operations.
-
It provides the lowest latency.
-
It consumes ~100% of the allocated CPU core at all times.
-
It is best suited for high-performance workloads with frequent I/O.
-
-
Interrupt Mode:
-
It uses interrupt-driven I/O handling.
-
CPU consumption scales with the number of attached volumes.
-
It is better suited for resource-constrained environments.
-
Prerequisites
-
SUSE Storage v1.10.0 or later
-
V2 data engine enabled
-
No attached v2 volumes when changing the setting
Configuration
Global setting
To enable interrupt mode globally, update the data-engine-interrupt-mode-enabled setting.
Limitations
Hybrid implementation
The current V2 volume interrupt mode uses a hybrid approach for NVMe/TCP transport:
-
Admin Queue Operations: It still relies on periodic polling for keepalive and controller recovery.
-
I/O Queue Completion: It uses polling for command completion.
-
Residual CPU Usage: It results in a small but constant CPU load, even when attached volumes are idle.