From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Andrew Jones <drjones@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>
Cc: "Gavin Shan" <gshan@redhat.com>, "Luc Michel" <luc@lmichel.fr>,
"Beraldo Leal" <bleal@redhat.com>,
"QEMU Developers" <qemu-devel@nongnu.org>,
qemu-arm <qemu-arm@nongnu.org>,
avocado-devel <avocado-devel@redhat.com>,
"Shan Gavin" <shan.gavin@gmail.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: Re: [PATCH] hw/char/pl011: Fix clock migration failure
Date: Wed, 17 Mar 2021 14:09:10 +0100 [thread overview]
Message-ID: <4fbceae2-7a0f-49cc-3a91-e4fa6be8c6af@redhat.com> (raw)
In-Reply-To: <20210317125453.t6f7xs7bqf2vvbgu@kamzik.brq.redhat.com>
+Beraldo
On 3/17/21 1:54 PM, Andrew Jones wrote:
> On Wed, Mar 17, 2021 at 11:14:56AM +0000, Peter Maydell wrote:
>> On Wed, 17 Mar 2021 at 10:59, Gavin Shan <gshan@redhat.com> wrote:
>>>
>>> Hi Peter,
>>>
>>> On 3/17/21 9:40 PM, Peter Maydell wrote:
>>>> On Wed, 17 Mar 2021 at 10:37, Gavin Shan <gshan@redhat.com> wrote:
>>>>> On 3/17/21 8:09 PM, Peter Maydell wrote:
>>>>>> On Wed, 17 Mar 2021 at 04:44, Gavin Shan <gshan@redhat.com> wrote:
>>>>>>>
>>>>>>> static const VMStateDescription vmstate_pl011 = {
>>>>>>> .name = "pl011",
>>>>>>> .version_id = 2,
>>>>>>> .minimum_version_id = 2,
>>>>>>> + .post_load = pl011_post_load,
>>>>>>> .fields = (VMStateField[]) {
>>>>>>> VMSTATE_UINT32(readbuff, PL011State),
>>>>>>> VMSTATE_UINT32(flags, PL011State),
>>>>>>> @@ -355,10 +355,6 @@ static const VMStateDescription vmstate_pl011 = {
>>>>>>> VMSTATE_INT32(read_trigger, PL011State),
>>>>>>> VMSTATE_END_OF_LIST()
>>>>>>> },
>>>>>>> - .subsections = (const VMStateDescription * []) {
>>>>>>> - &vmstate_pl011_clock,
>>>>>>> - NULL
>>>>>>> - }
>>>>>>> };
>>>>>>
>>>>>> Doesn't dropping the subsection break migration compat ?
>>>>>>
>>>>>
>>>>> It's why this patch needs to be backported to stable branches.
>>>>> In that way, we won't have migration compatible issue.
>>>>
>>>> No, migration has to work from the existing already
>>>> shipped 5.1, 5.2, etc releases to 6.0 (assuming you use
>>>> the correct "virt-5.2" &c versioned machine type.)
>>>>
>>>
>>> Commit aac63e0e6ea3 ("hw/char/pl011: add a clock input") is merged
>>> to v5.2.0. The migration failure happens during migration from v6.0
>>> to v5.1 with machine type as "virt-5.1", instead of migrating from
>>> v5.1 to v6.0. One question is if we need support backwards migration?
>>
>> Upstream doesn't care about backwards migration. AIUI
>> RedHat as a downstream care about the backwards-migration
>> case in some specific situations, but I don't know if that
>> would include this one.
>
> Right, we do prefer to be able to support "ping-pong" migrations. For
> example, if we start a virt-5.1 machine on a 5.1 build of QEMU, and then
> migrate it to a 5.2 build of QEMU, we'd like to also be able to go back
> to the 5.1 build.
>
> I agree this patch is not the right approach. I think the right approach
> is to introduce a compat property and make the "new" section dependent
> on it. And then update the hw_compat_* arrays. Gavin, please take a look
> at "Connecting subsections to properties" of docs/devel/migration.rst.
>
> I'm also curious what the state of mach-virt's machine types are for
> migration. It'd be nice to exhaustively test both forward migration of
> all machine types and ping-pong migrations of all machine types.
FYI this test has been suggested to the Avocado team few times.
They might already have a ticket to track any progress.
> We can
> then consider each issue we find (the pessimist in me suggests we'll find
> more than this pl011 issue) and how/if we want to resolve them.
next prev parent reply other threads:[~2021-03-17 13:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-17 4:44 [PATCH] hw/char/pl011: Fix clock migration failure Gavin Shan
2021-03-17 9:09 ` Peter Maydell
2021-03-17 10:37 ` Gavin Shan
2021-03-17 10:40 ` Peter Maydell
2021-03-17 10:59 ` Gavin Shan
2021-03-17 11:14 ` Peter Maydell
2021-03-17 12:54 ` Andrew Jones
2021-03-17 13:09 ` Philippe Mathieu-Daudé [this message]
2021-03-17 13:22 ` Peter Maydell
2021-03-18 2:34 ` Gavin Shan
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=4fbceae2-7a0f-49cc-3a91-e4fa6be8c6af@redhat.com \
--to=philmd@redhat.com \
--cc=avocado-devel@redhat.com \
--cc=bleal@redhat.com \
--cc=drjones@redhat.com \
--cc=gshan@redhat.com \
--cc=luc@lmichel.fr \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shan.gavin@gmail.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;
as well as URLs for NNTP newsgroup(s).