Hyper-V fejlesztések a Linux 6.18 kernelben – egységesített belépési pontok és új architekturális irányok

Wei Liu beolvasztotta a Hyper-V alrendszer frissítéseit a Linux 6.18 kernelhez, amelyek nemcsak a Microsoft Azure és Hyper-V integrációt érintik, hanem az egész virtualizációs infrastruktúra egységesítésére is törekednek. A kódváltoztatások több mint negyven fájlt módosítanak, és több száz új sorral bővíti a kernel funkcionalitását. A frissítés célja, hogy a Hyper-V komponensek konzisztensen illeszkedjenek a KVM és más hipervizorok alá tartozó közös rétegekhez, csökkentve a duplikált kódot és egyszerűsítve ezzel a karbantarthatóságot.

Hyper-V fejlesztések a Linux 6.18 kernelben –  egységesített belépési pontok és új architekturális irányok

Egységes vendégbelépés a Hyper-V és a Kernel Virtual Machine (KVM) között

A legnagyobb architekturális változás, hogy a Hyper-V és a KVM vendégbelépési kódja közös alapra került. Sean Christopherson munkája révén a „kvm” név alatt futó belépési útvonalak átnevezésre kerültek „virt” névre, ezzel megnyitva az utat a jövőbeli hipervizor-független API-k előtt. Ez a módosítás nem csupán névleges, hanem funkcionális is: a közös „entry virt” API lehetővé teszi, hogy a különböző virtualizációs megoldások közös infrastruktúrán osszák meg a vendégfolyamatok indítási és megszakításkezelési logikáját. Ezzel párhuzamosan a Hyper-V MSHV réteg új funkciókat kapott, többek között a NEED_RESCHED_LAZY események kezelését és a szülő partíciók konfigurációját. A cél a Microsoft Hyper-V és a nyílt forráskódú KVM működési modelljének közelítése volt, ami a Linux virtualizációs ökoszisztéma egyik régóta kitűzött célja.

Modernizált Hyper-V alrendszer és Azure-specifikus fejlesztések

Mukesh Rathor bevezette a CONFIG_HYPERV_VMBUS konfigurációs opciót, amely különválasztja a VMBus vezérlőt a korábbi, általános Hyper-V kapcsolóktól, így pontosabb fordítási logikát tesz lehetővé. A Hyper-V MSI domain mostantól az msi_create_parent_irq_domain() függvényt használja, ezzel összhangba hozva a megszakításkezelést az általános x86 architektúrával. Vitaly Kuznetsov munkájának köszönhetően a Linux 6.18-tól kezdve az Azure Confidential Virtual Machines (CVM) környezetekben teljes körűen támogatott a kexec és kdump mechanizmus, ami biztonságos újraindítást és hiba utáni adatmentést biztosít a felhőben futó rendszerek számára. Ezzel párhuzamosan a régi „hyperv_fb” framebuffer meghajtó elavulttá vált, helyét a Hyper-V DRM driver veszi át, amely modernebb grafikus interfészt és jobb teljesítményt kínál.

A fejlesztés része volt a fölösleges és hibás kódrészek eltávolítása, valamint a VMBus és util modulok formázási, dokumentációs és működésbeli javítása. A Hyper-V időzítő mostantól elhagyja a szükségtelen gyökérpartíciós ellenőrzéseket, ezáltal egyszerűbb és gyorsabb működést biztosít. A kód új struktúrái és a modulok közti tisztább határok előkészítik a Hyper-V alrendszer jövőbeli fejlesztéseit, különösen a virtualizált ARM és RISC-V platformok irányába.

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.