En la lista de correos del kernel de Linux se presenta la sexta versión de parches que implementan el mecanismo Kexec HandOver (KHO), desarrollado por ingenieros de las empresas Amazon, Microsoft y Google. Los parches ya han sido aceptados en la rama mm-everything, donde se acumulan cambios para la futura rama del kernel 6.16, relacionados con la gestión de memoria. Basado en Kexec HandOver, Google está desarrollando el subsistema Live Update Orchestrator (LUO), que permite reiniciar el kernel sin detener el funcionamiento de los dispositivos.
Kexec HandOver proporciona capacidades para iniciar un nuevo kernel a partir de uno antiguo sin perder el estado del sistema. Actualmente, la llamada kexec() funciona solo como un cargador, simplemente iniciando un nuevo kernel, que luego reinitiliza completamente el sistema, lo que es equivalente a un reinicio, pero sin la intervención del firmware. La serie de parches propuesta implementa un enfoque diferente. Antes de transferir el control a la nueva versión del kernel, el estado de los subsistemas clave del kernel se serializa en una región de memoria que no será afectada por futuras operaciones. El nuevo kernel, al recibir el control, restaura el estado serializado. Desde el punto de vista de las demás aplicaciones, la operación de reemplazo del kernel es imperceptible.
Kexec HandOver puede resultar útil en situaciones donde una interrupción no es aceptable y se necesita garantizar un ciclo de trabajo continuo para dispositivos individuales. Por ejemplo, en servidores de virtualización, Kexec HandOver puede utilizarse para actualizar el kernel (y el hipervisor) KVM), sin afectar la memoria ocupada por las máquinas virtuales, y manteniendo el estado de su ejecución.
Fuente: opennet.ru
