Linux 5.19 Adds Support For XSAVEC When Running As A VM Guest
Various hypervisors expose support for the XSAVEC instruction as an XSAVE with compaction as an efficiency optimization. However, the Linux kernel doesn't currently make use of XSAVEC as an alternative to XSAVES (supervisor mode) but that is now changing with Linux 5.19.
XSAVEC has been supported since Intel Skylake as XSAVE with compaction for improved performance and possible memory usage savings over the original XSAVE register-saving instruction. XSAVEC was added with Skylake as the same time as XSAVES for saving supervisor components too while still supporting compaction, and that's been supported by the Linux kernel for saving the processor extended states.
Hypervisors though due to their nature don't expose XSAVES but several do support XSAVEC. Citrix thus requested from Linux kernel developers the ability for the Linux kernel to support using XSAVEC where available as an optimization over the traditional XSAVE instruction usage due to the compacted storage format.
Since last week's x86/fpu pull this XSAVEC support for the Linux kernel is now mainlined for benefiting Linux running under modern hypervisors with this minor optimization.
XSAVEC has been supported since Intel Skylake as XSAVE with compaction for improved performance and possible memory usage savings over the original XSAVE register-saving instruction. XSAVEC was added with Skylake as the same time as XSAVES for saving supervisor components too while still supporting compaction, and that's been supported by the Linux kernel for saving the processor extended states.
Hypervisors though due to their nature don't expose XSAVES but several do support XSAVEC. Citrix thus requested from Linux kernel developers the ability for the Linux kernel to support using XSAVEC where available as an optimization over the traditional XSAVE instruction usage due to the compacted storage format.
Since last week's x86/fpu pull this XSAVEC support for the Linux kernel is now mainlined for benefiting Linux running under modern hypervisors with this minor optimization.
3 Comments