From: Mike Rapoport <rppt@kernel.org>
To: Pasha Tatashin <pasha.tatashin@soleen.com>
Cc: pratyush@kernel.org, jasonmiu@google.com, graf@amazon.com,
dmatlack@google.com, rientjes@google.com, corbet@lwn.net,
rdunlap@infradead.org, ilpo.jarvinen@linux.intel.com,
kanie@linux.alibaba.com, ojeda@kernel.org, aliceryhl@google.com,
masahiroy@kernel.org, akpm@linux-foundation.org, tj@kernel.org,
yoann.congal@smile.fr, mmaurer@google.com,
roman.gushchin@linux.dev, chenridong@huawei.com, axboe@kernel.dk,
mark.rutland@arm.com, jannh@google.com,
vincent.guittot@linaro.org, hannes@cmpxchg.org,
dan.j.williams@intel.com, david@redhat.com,
joel.granados@kernel.org, rostedt@goodmis.org,
anna.schumaker@oracle.com, song@kernel.org, linux@weissschuh.net,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
linux-mm@kvack.org, gregkh@linuxfoundation.org,
tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
rafael@kernel.org, dakr@kernel.org,
bartosz.golaszewski@linaro.org, cw00.choi@samsung.com,
myungjoo.ham@samsung.com, yesanishhere@gmail.com,
Jonathan.Cameron@huawei.com, quic_zijuhu@quicinc.com,
aleksander.lobakin@intel.com, ira.weiny@intel.com,
andriy.shevchenko@linux.intel.com, leon@kernel.org,
lukas@wunner.de, bhelgaas@google.com, wagi@kernel.org,
djeffery@redhat.com, stuart.w.hayes@gmail.com, ptyadav@amazon.de,
lennart@poettering.net, brauner@kernel.org,
linux-api@vger.kernel.org, linux-fsdevel@vger.kernel.org,
saeedm@nvidia.com, ajayachandra@nvidia.com, jgg@nvidia.com,
parav@nvidia.com, leonro@nvidia.com, witu@nvidia.com,
hughd@google.com, skhawaja@google.com, chrisl@kernel.org
Subject: Re: [PATCH v7 01/22] liveupdate: luo_core: Live Update Orchestrator
Date: Mon, 24 Nov 2025 07:07:47 +0200 [thread overview]
Message-ID: <aSPoIw2keoueM2q8@kernel.org> (raw)
In-Reply-To: <CA+CK2bCN7x=eMwfTXF-2+vR=Gn3=41z6Xxx6wM1m7i-rxzug9w@mail.gmail.com>
On Sun, Nov 23, 2025 at 07:15:44AM -0500, Pasha Tatashin wrote:
> On Sun, Nov 23, 2025 at 6:12 AM Mike Rapoport <rppt@kernel.org> wrote:
> >
> > 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@soleen.com>
> > > Reviewed-by: Pratyush Yadav <pratyush@kernel.org>
> >
> > Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
>
> Thank you
>
> >
> > 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@soleen.com>
> > > +#
> > > +# 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?
>
> Sure, or I can remove all of them from Kconfig, whatever you prefer :-)
Quick grepping shows that the vast majority of Kconfigs does not have
copyright, let's just drop it.
> > > 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 :)
>
> Device preservation through file descriptors: memfd, iommufd, vfiofd
> are all dependencies for preserving devices.
>
> That Kconfig description is correct and essential because the core
> complexity of the LUO is the preservation of device state and I/O
> across a kernel transition, which is a harder problem than just
> preserving memory or files, for that we could have used a file system
> instead of inventing something new with logic of can_preserve() etc.
>
> Device preservation requires exactly what is stated in the description
> for this config:
> "Ability to handover a device from current to the next kernel depends
> on specific support within device drivers and related kernel
> subsystems." The only subsystem that is getting upstreamed with this
> series is MEMFD, it is a hard pre-requirement for iommufd
> preservation; the other subsystems: VFIO, PCI, IOMMU are WIP.
Ok.
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2025-11-24 5:08 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-22 22:23 [PATCH v7 00/22] Live Update Orchestrator Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 01/22] liveupdate: luo_core: " Pasha Tatashin
2025-11-23 11:12 ` Mike Rapoport
2025-11-23 12:15 ` Pasha Tatashin
2025-11-24 5:07 ` Mike Rapoport [this message]
2025-11-24 20:43 ` Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 02/22] liveupdate: luo_core: integrate with KHO Pasha Tatashin
2025-11-23 11:27 ` Mike Rapoport
2025-11-23 12:03 ` Pasha Tatashin
2025-11-23 14:16 ` Mike Rapoport
2025-11-23 18:23 ` Pasha Tatashin
2025-11-25 13:08 ` Mike Rapoport
2025-11-25 13:59 ` Pasha Tatashin
2025-11-24 14:21 ` Pratyush Yadav
2025-11-25 16:09 ` Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 03/22] kexec: call liveupdate_reboot() before kexec Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 04/22] liveupdate: luo_session: add sessions support Pasha Tatashin
2025-11-23 14:16 ` Mike Rapoport
2025-11-23 19:07 ` Pasha Tatashin
2025-11-24 14:57 ` Pratyush Yadav
2025-11-22 22:23 ` [PATCH v7 05/22] liveupdate: luo_core: add user interface Pasha Tatashin
2025-11-23 14:19 ` Mike Rapoport
2025-11-23 19:25 ` Pasha Tatashin
2025-11-24 15:11 ` Pratyush Yadav
2025-11-22 22:23 ` [PATCH v7 06/22] liveupdate: luo_file: implement file systems callbacks Pasha Tatashin
2025-11-24 8:18 ` Mike Rapoport
2025-11-25 15:13 ` Pasha Tatashin
2025-11-24 15:44 ` Pratyush Yadav
2025-11-24 15:47 ` Pratyush Yadav
2025-11-25 15:17 ` Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 07/22] liveupdate: luo_session: Add ioctls for file preservation Pasha Tatashin
2025-11-24 5:20 ` Mike Rapoport
2025-11-22 22:23 ` [PATCH v7 08/22] docs: add luo documentation Pasha Tatashin
2025-11-23 16:05 ` Mike Rapoport
2025-11-23 19:29 ` Pasha Tatashin
2025-11-24 15:49 ` Pratyush Yadav
2025-11-22 22:23 ` [PATCH v7 09/22] MAINTAINERS: add liveupdate entry Pasha Tatashin
2025-11-23 15:29 ` Mike Rapoport
2025-11-24 15:18 ` Pratyush Yadav
2025-11-22 22:23 ` [PATCH v7 10/22] mm: shmem: use SHMEM_F_* flags instead of VM_* flags Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 11/22] mm: shmem: allow freezing inode mapping Pasha Tatashin
2025-11-23 15:29 ` Mike Rapoport
2025-11-23 19:43 ` Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 12/22] mm: shmem: export some functions to internal.h Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 13/22] liveupdate: luo_file: add private argument to store runtime state Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 14/22] mm: memfd_luo: allow preserving memfd Pasha Tatashin
2025-11-23 15:47 ` Mike Rapoport
2025-11-24 3:13 ` Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 15/22] docs: add documentation for memfd preservation via LUO Pasha Tatashin
2025-11-23 16:07 ` Mike Rapoport
2025-11-22 22:23 ` [PATCH v7 16/22] selftests/liveupdate: Add userspace API selftests Pasha Tatashin
2025-11-24 5:24 ` Mike Rapoport
2025-11-24 15:56 ` Pratyush Yadav
2025-11-22 22:23 ` [PATCH v7 17/22] selftests/liveupdate: Add kexec-based selftest for Pasha Tatashin
2025-11-24 5:29 ` Mike Rapoport
2025-11-22 22:23 ` [PATCH v7 18/22] selftests/liveupdate: Add kexec test for multiple and empty sessions Pasha Tatashin
2025-11-24 5:30 ` Mike Rapoport
2025-11-22 22:23 ` [PATCH v7 19/22] selftests/liveupdate: add test infrastructure and scripts Pasha Tatashin
2025-11-24 7:54 ` Mike Rapoport
2025-11-25 18:42 ` Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 20/22] liveupdate: luo_file: Add internal APIs for file preservation Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 21/22] liveupdate: luo_flb: Introduce File-Lifecycle-Bound global state Pasha Tatashin
2025-11-24 23:45 ` David Matlack
2025-11-25 17:10 ` Pasha Tatashin
2025-11-22 22:23 ` [PATCH v7 22/22] tests/liveupdate: Add in-kernel liveupdate test Pasha Tatashin
2025-11-22 22:44 ` [PATCH v7 00/22] Live Update Orchestrator Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aSPoIw2keoueM2q8@kernel.org \
--to=rppt@kernel.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=ajayachandra@nvidia.com \
--cc=akpm@linux-foundation.org \
--cc=aleksander.lobakin@intel.com \
--cc=aliceryhl@google.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=anna.schumaker@oracle.com \
--cc=axboe@kernel.dk \
--cc=bartosz.golaszewski@linaro.org \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=brauner@kernel.org \
--cc=chenridong@huawei.com \
--cc=chrisl@kernel.org \
--cc=corbet@lwn.net \
--cc=cw00.choi@samsung.com \
--cc=dakr@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=david@redhat.com \
--cc=djeffery@redhat.com \
--cc=dmatlack@google.com \
--cc=graf@amazon.com \
--cc=gregkh@linuxfoundation.org \
--cc=hannes@cmpxchg.org \
--cc=hpa@zytor.com \
--cc=hughd@google.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=ira.weiny@intel.com \
--cc=jannh@google.com \
--cc=jasonmiu@google.com \
--cc=jgg@nvidia.com \
--cc=joel.granados@kernel.org \
--cc=kanie@linux.alibaba.com \
--cc=lennart@poettering.net \
--cc=leon@kernel.org \
--cc=leonro@nvidia.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux@weissschuh.net \
--cc=lukas@wunner.de \
--cc=mark.rutland@arm.com \
--cc=masahiroy@kernel.org \
--cc=mingo@redhat.com \
--cc=mmaurer@google.com \
--cc=myungjoo.ham@samsung.com \
--cc=ojeda@kernel.org \
--cc=parav@nvidia.com \
--cc=pasha.tatashin@soleen.com \
--cc=pratyush@kernel.org \
--cc=ptyadav@amazon.de \
--cc=quic_zijuhu@quicinc.com \
--cc=rafael@kernel.org \
--cc=rdunlap@infradead.org \
--cc=rientjes@google.com \
--cc=roman.gushchin@linux.dev \
--cc=rostedt@goodmis.org \
--cc=saeedm@nvidia.com \
--cc=skhawaja@google.com \
--cc=song@kernel.org \
--cc=stuart.w.hayes@gmail.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=vincent.guittot@linaro.org \
--cc=wagi@kernel.org \
--cc=witu@nvidia.com \
--cc=x86@kernel.org \
--cc=yesanishhere@gmail.com \
--cc=yoann.congal@smile.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).