Linux KVM/arm64 development list
 help / color / mirror / Atom feed
From: Dave Martin <Dave.Martin@arm.com>
To: Andrew Jones <drjones@redhat.com>
Cc: maz@kernel.org, xu910121@sina.com, kvmarm@lists.cs.columbia.edu
Subject: Re: [PATCH v2 0/3] KVM: arm64: Fix get-reg-list regression
Date: Wed, 4 Nov 2020 16:41:50 +0000	[thread overview]
Message-ID: <20201104164150.GD6882@arm.com> (raw)
In-Reply-To: <20201103135244.bbgpp2b33mlqpan4@kamzik.brq.redhat.com>

On Tue, Nov 03, 2020 at 02:52:44PM +0100, Andrew Jones wrote:
> On Tue, Nov 03, 2020 at 11:37:27AM +0000, Dave Martin wrote:
> > On Mon, Nov 02, 2020 at 07:50:34PM +0100, Andrew Jones wrote:
> > > 张东旭 <xu910121@sina.com> reported a regression seen with CentOS
> > > when migrating from an old kernel to a new one. The problem was
> > > that QEMU rejected the migration since KVM_GET_REG_LIST reported
> > > a register was missing on the destination. Extra registers are OK
> > > on the destination, but not missing ones. The regression reproduces
> > > with upstream kernels when migrating from a 4.15 or later kernel,
> > > up to one with commit 73433762fcae ("KVM: arm64/sve: System register
> > > context switch and access support"), to a kernel that includes that
> > > commit, e.g. the latest mainline (5.10-rc2).
> > > 
> > > The first patch of this series is the fix. The next two patches,
> > > which don't have any intended functional changes, allow ID_SANITISED
> > > to be used for registers that flip between exposing features and
> > > being RAZ, which allows some code to be removed.
> > 
> > Is it worth updating Documentation/virt/kvm/api.rst to clarify the
> > expected use during VM migrations, and the guarantees that are expected
> > to hold between migratable kernel versions?  Currently the specification
> > is a mixture of "surely it's obvious" and "whatever makes QEMU work".
> > 
> > I guess that caught me out, but I'll let others judge whether other
> > people are likely to get similarly confused.
> >
> 
> I'm not sure what section this would fit in in api.rst. It feels like
> this should be a higher level document that covers the migration
> guarantees of the API in general. Of course, with host cpu passthrough,
> nothing is really guaranteed. The upgrade path is reasonable and probably
> doable though.

I agree that QEMU is the documentation in practice :P

This may be a situation where strategic vagueness is the best policy,
since in practice people attempting migration will always rely on more
than we can stricly guarantee in the generic API.  The generic rule is
probably "knock yourself out, YMMV".

If there's no clear place to write something up, then I guess we are at
least not making things worse.

Cheers
---Dave
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

      reply	other threads:[~2020-11-04 16:42 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-02 18:50 [PATCH v2 0/3] KVM: arm64: Fix get-reg-list regression Andrew Jones
2020-11-02 18:50 ` [PATCH v2 1/3] KVM: arm64: Don't hide ID registers from userspace Andrew Jones
2020-11-03 11:18   ` Dave Martin
2020-11-03 13:32     ` Andrew Jones
2020-11-04 16:11       ` Dave Martin
2020-11-02 18:50 ` [PATCH v2 2/3] KVM: arm64: Check RAZ visibility in ID register accessors Andrew Jones
2020-11-03 11:23   ` Dave Martin
2020-11-03 13:38     ` Andrew Jones
2020-11-04 16:31       ` Dave Martin
2020-11-02 18:50 ` [PATCH v2 3/3] KVM: arm64: Remove AA64ZFR0_EL1 accessors Andrew Jones
2020-11-03 11:32   ` Dave Martin
2020-11-03 13:46     ` Andrew Jones
2020-11-04 16:36       ` Dave Martin
2020-11-03 11:37 ` [PATCH v2 0/3] KVM: arm64: Fix get-reg-list regression Dave Martin
2020-11-03 13:52   ` Andrew Jones
2020-11-04 16:41     ` Dave Martin [this message]

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=20201104164150.GD6882@arm.com \
    --to=dave.martin@arm.com \
    --cc=drjones@redhat.com \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=maz@kernel.org \
    --cc=xu910121@sina.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