Różne hipernadzorcy obsługa instrukcji XSAVEC jako XSAVE z zagęszczaniem jako optymalizacją wydajności. Jednak jądro Linuksa nie wykorzystuje obecnie XSAVEC jako alternatywy dla XSAVES (tryb administratora), ale to się teraz zmienia w Linuksie 5.19.

XSAVEC jest obsługiwany od czasu Intel Skylake jako XSAVE z kompaktowaniem w celu zwiększenia wydajności i możliwych oszczędności zużycia pamięci w porównaniu z oryginalną instrukcją zapisywania rejestrów XSAVE. XSAVEC został dodany wraz ze Skylake w tym samym czasie, co XSAVES w celu zapisywania komponentów nadzorcy, przy jednoczesnym wspieraniu kompaktowania, i jest to obsługiwane przez jądro Linuksa w celu zapisywania rozszerzonych stanów procesora.

Hypervisory ze względu na swoją naturę nie ujawniają XSAVES, ale kilka z nich obsługuje XSAVEC. W związku z tym Citrix zażądał od programistów jądra Linuksa zdolności jądra Linuksa do obsługi XSAVEC tam, gdzie jest to możliwe, jako optymalizacji w stosunku do tradycyjnego użycia instrukcji XSAVE ze względu na skompaktowany format pamięci masowej.

Od ostatniego tygodnia x86/fpu pull ta obsługa XSAVEC dla jądra Linux jest teraz głównym celem korzystania z Linuksa działającego pod nowoczesnymi hipernadzorcami dzięki tej niewielkiej optymalizacji.

Categories: IT Info