Re: [PATCH v7 01/22] liveupdate: luo_core: Live Update Orchestrator

From: Mike Rapoport

Date: Sun Nov 23 2025 - 06:12:35 EST


On Sat, Nov 22, 2025 at 05:23:28PM -0500, Pasha Tatashin wrote:
> Introduce LUO, a mechanism intended to facilitate kernel updates while
> keeping designated devices operational across the transition (e.g., via
> kexec). The primary use case is updating hypervisors with minimal
> disruption to running virtual machines. For userspace side of hypervisor
> update we have copyless migration. LUO is for updating the kernel.
>
> This initial patch lays the groundwork for the LUO subsystem.
>
> Further functionality, including the implementation of state transition
> logic, integration with KHO, and hooks for subsystems and file
> descriptors, will be added in subsequent patches.
>
> Create a character device at /dev/liveupdate.
>
> A new uAPI header, <uapi/linux/liveupdate.h>, will define the necessary
> structures. The magic number for IOCTL is registered in
> Documentation/userspace-api/ioctl/ioctl-number.rst.
>
> Signed-off-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx>
> Reviewed-by: Pratyush Yadav <pratyush@xxxxxxxxxx>

Reviewed-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>

with a few nits below

> ---

> diff --git a/kernel/liveupdate/Kconfig b/kernel/liveupdate/Kconfig
> index a973a54447de..90857dccb359 100644
> --- a/kernel/liveupdate/Kconfig
> +++ b/kernel/liveupdate/Kconfig
> @@ -1,4 +1,10 @@
> # SPDX-License-Identifier: GPL-2.0-only
> +#
> +# Copyright (c) 2025, Google LLC.
> +# Pasha Tatashin <pasha.tatashin@xxxxxxxxxx>
> +#
> +# Live Update Orchestrator
> +#

If you are adding copyrights it should have Amazon and Microsoft as well.
I believe those from kexec_handover.c would work.

@Alex?

> menu "Live Update and Kexec HandOver"
> depends on !DEFERRED_STRUCT_PAGE_INIT
> @@ -51,4 +57,25 @@ config KEXEC_HANDOVER_ENABLE_DEFAULT
> The default behavior can still be overridden at boot time by
> passing 'kho=off'.
>
> +config LIVEUPDATE
> + bool "Live Update Orchestrator"
> + depends on KEXEC_HANDOVER
> + help
> + Enable the Live Update Orchestrator. Live Update is a mechanism,
> + typically based on kexec, that allows the kernel to be updated
> + while keeping selected devices operational across the transition.
> + These devices are intended to be reclaimed by the new kernel and
> + re-attached to their original workload without requiring a device
> + reset.
> +
> + Ability to handover a device from current to the next kernel depends
> + on specific support within device drivers and related kernel
> + subsystems.

Sorry, somehow this slipped during v6 review.
These days LUO is less about devices and more about file descriptors :)

> +
> + This feature primarily targets virtual machine hosts to quickly update
> + the kernel hypervisor with minimal disruption to the running virtual
> + machines.
> +
> + If unsure, say N.
> +
> endmenu

--
Sincerely yours,
Mike.