Intel Posts Initial Code For x86 User Interrupts On Linux - Shows Great Performance Potential

Written by Michael Larabel in Intel on 13 September 2021 at 04:38 PM EDT. 13 Comments
INTEL
In addition to the big Advanced Matrix Extensions support still being in flux and the kernel-side AMX code not yet being merged, another feature of next year's Xeon "Sapphire Rapids" that we are only now seeing in early published form for the Linux kernel is handling of x86 user interrupts.

Going back to last year Intel disclosed user interrupts with the new UIRET instruction. The x86 User Interrupts functionality is premiering with Sapphire Rapids processors. A few minutes ago the initial Linux kernel code for x86 User Interrupts was finally published under a "request for comments" flag on the Linux kernel mailing list.

The x86 User Interrupts functionality is summed up by the patch series as:
Today, virtually all communication across privilege boundaries happens by going through the kernel. These include signals, pipes, remote procedure calls and hardware interrupt based notifications. User interrupts provide the foundation for more efficient (low latency and low CPU utilization) versions of these common operations by avoiding transitions through the kernel.

In the User Interrupts hardware architecture, a receiver is always expected to be a user space task. However, a user interrupt can be sent by another user space task, kernel or an external source (like a device).

Most exciting, Intel's early performance numbers on Sapphire Rapids are showing a ~9x or higher performance improvement by using User Interrupts over other IPC mechanisms for event signaling.

The set of 13 patches published today prime the kernel for x86 User Interrupts while various elements of the software design are still being firmed up and thus the RFC marking. Among the software libraries in user-space that could make use of this functionality would be libevent, liburing, and more -- Intel though is being light on talking about their engagement with user-space projects at the moment. The Linux kernel handling of User Interrupts will be discussed in more detail at next week's kernel summit.

Those interested in learning more about all of the exciting technical details of x86 User Interrupts can see this RFC patch series.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week