Intel IPI Virtualization Ready For Linux 5.19
Following the groundwork laid in Linux 5.18, Intel VT-x's IPI Virtualization support is set to be introduced with the Linux 5.19 kernel for supporting this new hardware capability found with Xeon Scalable 4th Gen "Sapphire Rapids" server processors.
Inter-Process Interrupts (IPI) virtualization aims to eliminate VM-exits when issuing IPI (inter-processor interrupts) on a source vCPU. IPI Virtualization was outlined by Intel last year in a programmer reference manual update and shortly thereafter Intel engineers began posting their Linux support patches. After going through several rounds of review, the IPI Virtualization support is now ready to go ahead of Linux 5.19 -- and in time for Xeon Sapphire Rapids processors beginning to ramp up as the year progresses.
IPI Virtualization aims to provide for more efficient inter-process interrupts within VMs. This IPI Virtualization support should eliminate the "much overhead" exhibited with IPI-intensive tasks.
Intel engineers in the earlier Linux kernel patches summed up the impact as, "We did experiment to measure average time sending IPI from source vCPU to the target vCPU completing the IPI handling by kvm unittest w/ and w/o IPI virtualization. When IPI virtualization enabled, it will reduce 22.21% and 15.98% cycles consuming in xAPIC mode and x2APIC mode respectively."
Yesterday the remaining IPI Virtualization patches made it into KVM's "next" branch ahead of the Linux 5.19 merge window opening later this month. The Kernel-based Virtual Machine patches in the "next" area culminated with the enabling of IPI Virtualization for supported CPUs. As part of the IPI Virtualization enablement was also other VT-x work like Tertiary VM-Execution control.
Xeon Sapphire Rapids support within the Linux kernel and related components has been around for a while now and all basic functionality should be in place it appears. However, with Linux 5.19 looks like the point at which a lot of the "extra" functionality is all solid and in good shape ahead of Xeon SPR's ramp. I'll know for sure once getting hands on Sapphire Rapids for Linux testing and benchmarking.
Inter-Process Interrupts (IPI) virtualization aims to eliminate VM-exits when issuing IPI (inter-processor interrupts) on a source vCPU. IPI Virtualization was outlined by Intel last year in a programmer reference manual update and shortly thereafter Intel engineers began posting their Linux support patches. After going through several rounds of review, the IPI Virtualization support is now ready to go ahead of Linux 5.19 -- and in time for Xeon Sapphire Rapids processors beginning to ramp up as the year progresses.
IPI Virtualization aims to provide for more efficient inter-process interrupts within VMs. This IPI Virtualization support should eliminate the "much overhead" exhibited with IPI-intensive tasks.
Intel engineers in the earlier Linux kernel patches summed up the impact as, "We did experiment to measure average time sending IPI from source vCPU to the target vCPU completing the IPI handling by kvm unittest w/ and w/o IPI virtualization. When IPI virtualization enabled, it will reduce 22.21% and 15.98% cycles consuming in xAPIC mode and x2APIC mode respectively."
Yesterday the remaining IPI Virtualization patches made it into KVM's "next" branch ahead of the Linux 5.19 merge window opening later this month. The Kernel-based Virtual Machine patches in the "next" area culminated with the enabling of IPI Virtualization for supported CPUs. As part of the IPI Virtualization enablement was also other VT-x work like Tertiary VM-Execution control.
Xeon Sapphire Rapids support within the Linux kernel and related components has been around for a while now and all basic functionality should be in place it appears. However, with Linux 5.19 looks like the point at which a lot of the "extra" functionality is all solid and in good shape ahead of Xeon SPR's ramp. I'll know for sure once getting hands on Sapphire Rapids for Linux testing and benchmarking.
Add A Comment