From: Sean Christopherson <seanjc@google.com>
To: Pratyush Yadav <pratyush@kernel.org>
Cc: Tarun Sahu <tarunsahu@google.com>,
ackerleytng@google.com, fuad.tabba@linux.dev,
Andrew Morton <akpm@linux-foundation.org>,
dmatlack@google.com, Shuah Khan <skhan@linuxfoundation.org>,
Jonathan Corbet <corbet@lwn.net>,
david@redhat.com, Pasha Tatashin <pasha.tatashin@soleen.com>,
sagis@google.com, Paolo Bonzini <pbonzini@redhat.com>,
Mike Rapoport <rppt@kernel.org>, Alexander Graf <graf@amazon.com>,
linux-kselftest@vger.kernel.org, andre.przywara@arm.com,
michael.roth@amd.com, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, will@kernel.org, vannapurve@google.com,
maz@kernel.org, fvdl@google.com, kvm@vger.kernel.org,
oliver.upton@linux.dev, kvmarm@lists.linux.dev,
alexandru.elisei@arm.com, skhawaja@google.com,
aneesh.kumar@kernel.org, linux-doc@vger.kernel.org,
David Hildenbrand <david@kernel.org>,
yan.y.zhao@intel.com, kexec@lists.infradead.org,
suzuki.poulose@arm.com
Subject: Re: [PATCH v4 05/11] KVM: LUO: Support VM preservation across live updates
Date: Mon, 17 Aug 2026 07:37:30 -0700 [thread overview]
Message-ID: <aoMcqp0gr06YXAPU@google.com> (raw)
In-Reply-To: <2vxzqzjz1x5f.fsf@kernel.org>
On Sat, Aug 15, 2026, Pratyush Yadav wrote:
> On Wed, Aug 12 2026, Sean Christopherson wrote:
> > On Wed, Aug 12, 2026, Pratyush Yadav wrote:
> >> This is ABI between kernels. It needs to be stable-ish so you can move
> >> from one kernel version to another. At the same time, unlike userspace
> >> ABI, it can change.
> >
> > Uh, yeah, so KVM has been managing such immutable ABI for practically its entire
> > existence. KVM's save/restore uAPI has exactly what you're describing: serialization
> > ABI that needs to be backwards and forwards compatible between different kernels
> > in order to support both upgrade and rollback scenarios via live migration.
>
> I think there is a slight difference between KVM's save/resture uAPI and
> live update's ABI. With KVM's uAPI, you need to maintain strict
> backwards compatibility because userspace reads what you output. So if
> you change the layout, userspace will interpret it wrong and might
> break.
>
> With live update, the ABI never gets to userspace. It is used to talk
> between kernels directly. So if you do break that, your userspace keeps
> working fine, you just might not be able to live update to the
> incompatible kernel.
>
> So with live update, we don't need to keep backwards compatibility in
> the ABI forever. Of course, it is good to minimize changes, but we have
> more freedom to change it.
Ah. So this is the heart of the disconnect. I very strongly disagree with the
statement that live update doesn't need to support backwards compatibility. I
can totally believe that the folks working on live update are ok breaking backwards
compatibility because their use cases are "fine" with such breakage. And I can
also believe live update as an upstream kernel feature being developed by those
same folks is also ok with breaking backwards compatibility.
But with my upstream KVM maintainer hat on, I am not ok with that. I did not agree
to support a world where KVM is allowed to break backwards compatibility, so long
as it's done "carefully" or whatever. If y'all want to deal with the resulting
complexity, that's fine by me, but you'll be doing it without KVM.
I totally understand that exploratory work and initial development is best done
in private and/or in a small working groups. But decisions that will significantly
impact multiple subsystems need to be made *with* those subystems. I mean,
obviously it's possible to make a decision in a small group and then "publish"
the result later, but then as is happening here, the community and subsystem
maintainers like me may refuse to play ball if they disagree.
To be very clear, for any KVM live update support that doesn't guarantee backwards
compatibility (allowing that bugs happen), a very firm:
NAK
next prev parent reply other threads:[~2026-08-17 14:37 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-28 12:11 [PATCH v4 00/11] liveupdate: kvm: Guest_memfd preservation Tarun Sahu
2026-07-28 12:11 ` [PATCH v4 01/11] liveupdate: Add LIVEUPDATE_GUEST_MEMFD config option Tarun Sahu
2026-08-10 22:58 ` Sean Christopherson
2026-08-11 13:26 ` tarunsahu
2026-08-11 14:48 ` Sean Christopherson
2026-07-28 12:11 ` [PATCH v4 02/11] KVM: Introduce kvm_create_vm_file() helper Tarun Sahu
2026-07-30 17:36 ` Ackerley Tng
2026-08-10 10:14 ` tarunsahu
2026-08-10 23:05 ` Sean Christopherson
2026-08-11 13:27 ` tarunsahu
2026-07-28 12:11 ` [PATCH v4 03/11] KVM: Export kvm_uevent_notify_vm_create() Tarun Sahu
2026-07-28 12:11 ` [PATCH v4 04/11] KVM: Track weak reference to vm_file in struct kvm Tarun Sahu
2026-08-10 23:23 ` Sean Christopherson
2026-07-28 12:11 ` [PATCH v4 05/11] KVM: LUO: Support VM preservation across live updates Tarun Sahu
2026-08-10 23:42 ` Sean Christopherson
2026-08-11 11:31 ` Pratyush Yadav
2026-08-11 14:05 ` Sean Christopherson
2026-08-12 13:45 ` Pratyush Yadav
2026-08-12 15:17 ` Sean Christopherson
2026-08-15 10:43 ` Pratyush Yadav
2026-08-17 14:37 ` Sean Christopherson [this message]
2026-07-28 12:11 ` [PATCH v4 06/11] KVM: guest_memfd: Move internal definitions to internal header Tarun Sahu
2026-07-30 18:12 ` Ackerley Tng
2026-08-11 10:31 ` Pratyush Yadav
2026-07-28 12:11 ` [PATCH v4 07/11] KVM: guest_memfd: Add support for freezing mappings Tarun Sahu
2026-07-30 17:46 ` Ackerley Tng
2026-08-10 13:15 ` tarunsahu
2026-07-30 18:12 ` Ackerley Tng
2026-08-10 13:08 ` tarunsahu
2026-08-10 23:44 ` Sean Christopherson
2026-07-28 12:11 ` [PATCH v4 08/11] KVM: guest_memfd: Add support for preservation via LUO Tarun Sahu
2026-07-30 18:16 ` Ackerley Tng
2026-08-10 13:20 ` tarunsahu
2026-07-28 12:11 ` [PATCH v4 09/11] docs: liveupdate: Add documentation for VM and guest_memfd preservation Tarun Sahu
2026-07-28 12:11 ` [PATCH v4 10/11] KVM: selftests: Split ____vm_create() and add vm_create_from_fd() Tarun Sahu
2026-07-28 12:11 ` [PATCH v4 11/11] KVM: selftests: Add guest_memfd_preservation_test Tarun Sahu
2026-07-30 18:18 ` Ackerley Tng
2026-08-10 13:22 ` tarunsahu
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=aoMcqp0gr06YXAPU@google.com \
--to=seanjc@google.com \
--cc=ackerleytng@google.com \
--cc=akpm@linux-foundation.org \
--cc=alexandru.elisei@arm.com \
--cc=andre.przywara@arm.com \
--cc=aneesh.kumar@kernel.org \
--cc=corbet@lwn.net \
--cc=david@kernel.org \
--cc=david@redhat.com \
--cc=dmatlack@google.com \
--cc=fuad.tabba@linux.dev \
--cc=fvdl@google.com \
--cc=graf@amazon.com \
--cc=kexec@lists.infradead.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=maz@kernel.org \
--cc=michael.roth@amd.com \
--cc=oliver.upton@linux.dev \
--cc=pasha.tatashin@soleen.com \
--cc=pbonzini@redhat.com \
--cc=pratyush@kernel.org \
--cc=rppt@kernel.org \
--cc=sagis@google.com \
--cc=skhan@linuxfoundation.org \
--cc=skhawaja@google.com \
--cc=suzuki.poulose@arm.com \
--cc=tarunsahu@google.com \
--cc=vannapurve@google.com \
--cc=will@kernel.org \
--cc=yan.y.zhao@intel.com \
/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