Divers hyperviseurs exposent prise en charge de l’instruction XSAVEC en tant que XSAVE avec compactage comme optimisation de l’efficacité. Cependant, le noyau Linux n’utilise pas actuellement XSAVEC comme alternative à XSAVES (mode superviseur) mais cela change maintenant avec Linux 5.19.

XSAVEC est pris en charge depuis Intel Skylake en tant que XSAVE avec compactage pour des performances améliorées et d’éventuelles économies d’utilisation de la mémoire par rapport à l’instruction de sauvegarde de registre XSAVE d’origine. XSAVEC a été ajouté avec Skylake en même temps que XSAVES pour enregistrer les composants du superviseur tout en prenant en charge le compactage, et cela a été pris en charge par le noyau Linux pour enregistrer les états étendus du processeur.

Les hyperviseurs, en raison de leur nature, n’exposent pas XSAVES, mais plusieurs prennent en charge XSAVEC. Citrix a donc demandé aux développeurs du noyau Linux la possibilité pour le noyau Linux de prendre en charge l’utilisation de XSAVEC, le cas échéant, en tant qu’optimisation par rapport à l’utilisation traditionnelle de l’instruction XSAVE en raison du format de stockage compacté.

Depuis le x86/fpu pull de la semaine dernière, cette prise en charge de XSAVEC pour le noyau Linux est désormais conçu pour bénéficier de Linux fonctionnant sous des hyperviseurs modernes avec cette optimisation mineure.

Categories: IT Info