A Linux 6.17 kernel újdonságai a virtualizációban: optimalizált SEV-kezelés, egyszerűsített SNP-ellenőrzés és gyorsabb TDX memóriafelszabadítás

A Linux 6.17 kernel újdonságai között külön figyelmet érdemelnek a KVM alrendszer SEV-vel (Secure Encrypted Virtualization) kapcsolatos fejlesztései, amelyek a cache-kezelés hatékonyságát javítják. Korábban egy SEV vendéggép megszüntetése minden CPU-n cache-ürítést váltott ki, függetlenül attól, hogy az adott processzor valaha is részt vett-e a vendég futtatásában. Az új kernel verzióban ez a művelet már csak azokra a CPU-kra korlátozódik, amelyek ténylegesen futtattak SEV vendéget, így jelentősen csökken a felesleges rendszerterhelés. Emellett a hagyományos WBINVD utasítások helyett, amelyek globális cache flush-t okoznak, egy újabb, kevésbé invazív alternatíva, a WBNOINVD került előtérbe. Ez lehetővé teszi a memóriaterületek hatékonyabb visszavonását SEV vendégek esetén, miközben elkerülhetővé válik az egész rendszer teljesítményének szükségtelen visszafogása.

A Linux 6.17 kernel újdonságai a virtualizációban: optimalizált SEV-kezelés, egyszerűsített SNP-ellenőrzés és gyorsabb TDX memóriafelszabadítás

Egyszerűbbé vált az SNP vendégek policy kezelése

A fejlesztők az SNP (Secure Nested Paging) vendégekhez tartozó ellenőrzések egyszerűsítésén is dolgoztak. Korábban a KVM saját hatáskörben vizsgálta, hogy a vendéggépek által megadott futtatási policyk – például az SMT tiltása vagy a csak egy foglalat használata – ténylegesen végrehajthatók-e a fizikai gépen. A 6.17-es kernelben ezek az ellenőrzések kikerültek a KVM hatásköréből, és a firmware feladata lett eldönteni, hogy a kért beállítások támogatottak-e. Ezzel nemcsak a kódbázis vált egyszerűbbé és átláthatóbbá, hanem az SNP vendégek futtatása is kevesebb beavatkozással, tisztábban illeszkedik a rendszer többi részéhez. Az új megközelítés nem veszélyezteti a rendszer stabilitását, mivel a fizikai topológiára vonatkozó garanciák egyébként sem tartoznak a KVM szigorúan vett felelősségi körébe.

Új ioctl gyorsítja a TDX memóriafelszabadítást

A Linux 6.17 kernel emellett egy új alhívást is bevezetett a TDX (Trust Domain Extensions) környezetekhez, amely jelentősen javítja a memóriakezelés hatékonyságát nagy méretű vendégek esetén. Az új KVM_TDX_TERMINATE_VM ioctl lehetővé teszi, hogy a felhasználói tér jelezze, ha egy TDX vendéggép véglegesen lezárható, még azelőtt, hogy az utolsó hivatkozás is megszűnne. Ezáltal felszabadítható a vendéghez társított titkos kulcsazonosító, az úgynevezett HKID, és a vendéggép azonnal a TDX TEARDOWN állapotába kerül. Ebben az állapotban a memórialapok közvetlenül visszanyerhetők, amely akár tízszeres gyorsulást is eredményezhet a hagyományos memória-visszaszerzési eljárásokhoz képest. Ez a fejlesztés különösen a nagy erőforrásigényű, dinamikusan változó felhőkörnyezetekben futtatott TDX gépek esetében hozhat kézzelfogható előnyt.

Gábor a Pingvinbázis alapítója és főszerkesztője, több mint 20 éves tapasztalattal rendelkezik a Linux rendszerek és az Open Source szoftverek területén. Jártas a Python, és a PHP nyelvben, valamint a BASH scriptelésben is.