Kexec HandOver mechanism for rebooting the Linux kernel without losing state

The Linux kernel mailing list has presented the sixth version of patches implementing the Kexec HandOver (KHO) mechanism, developed by engineers from Amazon, Microsoft, and Google. The patches have already been accepted into the mm-everything branch, where changes are accumulated for the future 6.16 kernel branch, related to memory management. Based on Kexec HandOver, Google is developing the Live Update Orchestrator (LUO) subsystem, which allows for kernel reboots without stopping device operation.

Kexec HandOver provides the capability to launch a new kernel from an old one without losing system state. Currently, the kexec() call works only as a loader, simply starting a new kernel, which then completely reinitializes the system, equivalent to a reboot, but without firmware involvement. The proposed series of patches implements a different approach. Before handing control to the new kernel version, the state of key kernel subsystems is serialized into a memory region that won't be affected by further operations. The new kernel, upon gaining control, restores the serialized state back. From the perspective of other programs, the kernel replacement operation is seamless.

Kexec HandOver could be useful in situations where downtime is unacceptable and a continuous operational cycle for individual devices must be ensured. For example, on virtualization servers, Kexec HandOver may be used to update the kernel (and hypervisor), without affecting the memory occupied by virtual machines, and preserving their execution state. KVM), without affecting the memory occupied by virtual machines, and preserving their execution state.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster