Intel’s hybrid core handling for modern Intel Core CPUs with a mix of P and E cores has largely been in good shape under Linux for a while. Intel Thread Director support has come along with various Linux kernel improvements to better handle task placement between the P and E cores. One area seeing new work now though is for virtual machines (VMs) running on Intel hybrid systems with a new Linux kernel patch series working on Thread Director Virtualization.
Overnight Intel posted two set of patches for working on Thread Director Virtualization for enhancing the performance of VMs running on Intel hybrid platforms. For Intel’s focus their use-case is on running a Linux host on Intel Core hardware while using Microsoft Windows VM guests and using that VM for enjoying games.
With this Intel Thread Director Virtualization to ensure the VM can properly manage task placement between P and E cores, the feature ended up yielding around 14% better performance than the status quo. That 14% win was with the 3DMark benchmark running on a Windows VM.
Posted were these prep patches for HFI virtualization. That was followed by 26 RFC patches laying out the Intel Thread Director Virtualization.
“In short, the purpose of this patch set is to enable the ITD-based scheduling logic in Guest so that Guest can better schedule Guest tasks on Intel hybrid platforms.
Currently, ITD is necessary for Windows VMs. Based on ITD virtualization support, the Windows 11 Guest could have significant performance improvement (for example, on i9-13900K, up to 14%+ improvement on 3DMARK).
Our ITD virtualization is not bound to VMs’ hybrid topology or vCPUs’ CPU affinity. However, in our practice, the ITD scheduling optimization for win11 VMs works best when combined with hybrid topology and CPU affinity (this is related to the specific implementation of Win11 scheduling). For more details, please see the Section.1.2 “About hybrid topology and vCPU pinning”.
To enable ITD related scheduling optimization in Win11 VM, some other thermal related support is also needed (HWP, CPPC), but we could emulate it with dummy value in the VMM (We’ll also be sending out extra patches in the future for these).”
Interesting work and hopefully this Intel Thread Director Virtualization support will be worked into shape for mainlining into the Linux kernel in the near future for further enhancing Intel Core hybrid CPUs.