Merged to the Intel Xe kernel graphics driver for the current Linux 6.15 kernel cycle is EU Stall Sampling support as a new feature found with Xe2 Lunar Lake and Battlemage graphics. EU Stall Sampling is used for exposing information/reasons why execution units are stalled for helping to debug performance issues. Now that the kernel support is ready to go with Linux 6.15, merged to the Mesa 25.1 development code is the user-space support for this performance debugging feature.
This Mesa merge request that dates back eight months has finally been merged ahead of this quarter’s Mesa 25.1 feature release. Paired with Linux 6.15, this EU Stall Sampling debug capabilities are ready to go with Xe2 graphics hardware. The merge request elaborates on the functionality:
“EU stall sampling is a performance debug feature new to Xe2 Intel GPUs. This feature allows collection of counts and reasons for why EUs are stalled. Stall data is cross referenced with ip addresses within individual shaders so it is possible to know which instructions in which shaders are stalling. This should be a very useful feature for debugging performance of slow shaders.
EU stall samples are collected using standalone intel/tool intel_monitor, which periodically samples KMD for EU stall data every N microseconds. intel_monitoris designed to be launched in background while gfx app to be profiled run. Data sampled by intel_monitor can be cross referenced with dumped shader code to determine which instructions are stalling.”
With Fedora 42 and Ubuntu 25.04 coming up among other spring 2025 Linux distributions, I’ll be working on some fresh Xe2 Linux graphics benchmarks with Lunar Lake and Battlemage soon.