The core Linux codebase, on which the 6.19 release will be based in early February, has accepted the code for the LUO (Live Update Orchestrator) subsystem, developed by Google for updating the kernel in live mode without a physical reboot. This subsystem is based on the KHO (Kexec HandOver) mechanism, previously added to the kernel in 6.16, which allows launching a new kernel from an old one without losing the system's state.
The Live Update Orchestrator enables a full reboot and update of the kernel without interrupting operation and without losing the system's state, devices, and processes. In addition to the KHO functionality, the LUO subsystem preserves the state of devices and RAM, as well as ensures the continuity of operations related to DMA and interrupt handling. The state is saved until switching to the new kernel and is restored after the new kernel is activated without disrupting continuous operations with devices performed by the system and user-space applications.
A key feature of the new patch series is the ability to save memfd file descriptors to maintain the state of important data in memory between reboots, such as the contents of RAM. of virtual machinesThe primary area of application for the subsystem is mentioned as rapid updates servers with KVM-based virtualization systems to address security and stability issues while minimizing downtime for virtual machines. Google is already using this technology in its working environments.
Unlike livepatch, Ksplice, kpatch, kGraft, and other hot patching mechanisms, the new subsystem is not limited to applying individual fixes to a running kernel and allows for a complete kernel replacement. Unlike the kexec call, the LUO subsystem preserves the state of devices and kernel subsystems between reboots, while the kexec call functions merely as a bootloader that starts a new kernel with complete reinitialization of the system (equivalent to a reboot but without transferring control to the firmware).
Source: opennet.ru
