Inžinieri z firmy Google zverejnili pre vývojárov jadra Linux súbor patchov s implementáciou subsystému Live Update Orchestrator (LUO), určeného na aktualizáciu jadra v reálnom čase. Na rozdiel od takých mechanizmov, ako sú livepatch, Ksplice, kpatch a kGraft, nový systém nie je obmedzený len na aplikáciu jednotlivých opráv na bežiace jadro Linux, ale umožňuje úplne reštartovať a aktualizovať jadro bez zastavenia chodu jednotlivých zariadení. Projekt je založený na súbore patchov KHO (Kexec HandOver) pre mechanizmus kexec, ktorý sa používa na načítanie nového jadra z už bežiaceho jadra Linux bez fyzického reštartu.
Hlavnou oblasťou využitia LUO sú cloudové prostredia, v ktorých bude možné aktualizovať hypervízor KVM bez narušenia chodu bežiacich virtuálních strojů. Konkrétne bude možné pozastaviť virtuálne stroje na čas reštartu jadra s hypervízorom, pričom všetky zariadenia pripojené k virtuálnym strojom zostanú v prevádzke.
Na realizáciu tejto možnosti LUO poskytuje možnosti na uloženie stavu zariadení pred prepnutím na nové jadro a obnovenie stavu bezprostredne po aktivácii nového jadra tak, aby kontinuálne operácie systému a aplikácií v priestore používateľa so zariadeniami neboli narušené. Počas reštartu jadra je tiež zabezpečená kontinuita vykonávaných operácií s DMA a aktivita spojená s spracovaním prerušenia.
Na koordináciu ukladania stavu a prepínania na nové jadro LUO poskytuje API, ktoré umožňuje iným subsystémom jadra pripojiť spracovateľov na sledovanie a účasť v procese Live-reštartu. Medzi subsystémami, ktoré môžu byť integrovane s LUO, patrí hypervízor KVM, iommu, systém prerušenia a ovládače. Na prenos stavu pamäte zo starého jadra na nové je použitý KHO (Kexec HandOver). Správa sa vykonáva prostredníctvom súborov sysfs "\/sys\/kernel\/liveupdate\/{state, prepare, finish}".
Zdroj: opennet.ru
