From: Artyom Tarasenko <atar4qemu@gmail.com>
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: "Blue Swirl" <blauwirbel@gmail.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
qemu-devel <qemu-devel@nongnu.org>,
"Andreas Färber" <afaerber@suse.de>,
patches@linaro.org
Subject: Re: [Qemu-devel] [PATCH 0/4] target-sparc: Update to use VMStateDescription
Date: Tue, 18 Aug 2015 10:55:54 +0200 [thread overview]
Message-ID: <CACXAS8AEQD02_UJ_OBFyokWmLVyd12DKsTYFocQ9fv=8bvbiPQ@mail.gmail.com> (raw)
In-Reply-To: <55D22664.7040603@ilande.co.uk>
Hi Mark,
On Mon, Aug 17, 2015 at 8:22 PM, Mark Cave-Ayland
<mark.cave-ayland@ilande.co.uk> wrote:
> On 14/08/15 13:15, Artyom Tarasenko wrote:
>
> Hi Artyom,
>
>> Hi Mark,
>>
>> On Fri, Aug 14, 2015 at 12:37 AM, Mark Cave-Ayland
>> <mark.cave-ayland@ilande.co.uk> wrote:
>>> On 10/08/15 13:34, Peter Maydell wrote:
>>>
>>>> This patchset updates target-sparc to use VMStateDescription
>>>> rather than hand-written save/load functions. (This and CRIS
>>>> are the last two targets still using the old approach.)
>>>>
>>>> It's based on some patches from back in 2012 by Juan which
>>>> I've updated, rebased and made some tweaks to.
>>>>
>>>> This is a migration compatibility break; we don't care about
>>>> cross-version migration on SPARC guests, and not having to
>>>> maintain the old wire format allows a cleaner vmstate
>>>> description in several ways.
>>>>
>>>> NB that the 'split cpu_put_psr' patch seems to me to be a
>>>> bugfix in and of itself, since currently we might try to
>>>> call cpu_check_irqs() and deliver interrupts while we're
>>>> halfway through updating a PSR value...
>>>>
>>>> Juan Quintela (2):
>>>> vmstate: introduce CPU_DoubleU arrays
>>>> target-sparc: Convert to VMStateDescription
>>>>
>>>> Peter Maydell (2):
>>>> target-sparc: Split cpu_put_psr into side-effect and no-side-effect
>>>> parts
>>>> target-sparc: Don't flush TLB in cpu_load function
>>>>
>>>> hw/sparc64/sun4u.c | 20 ---
>>>> include/migration/vmstate.h | 7 +
>>>> migration/vmstate.c | 23 +++
>>>> target-sparc/cpu-qom.h | 4 +
>>>> target-sparc/cpu.c | 1 +
>>>> target-sparc/cpu.h | 7 +-
>>>> target-sparc/machine.c | 360 ++++++++++++++++++++------------------------
>>>> target-sparc/win_helper.c | 19 ++-
>>>> 8 files changed, 210 insertions(+), 231 deletions(-)
>>>
>>> Hi Peter,
>>>
>>> Thanks for looking into this! In general the patches look very
>>> reasonable (although I will need to give them a more thorough testing
>>> when I get a chance) - my only concern is the break in migration
>>> compatibility. Am I right in thinking that with this patch applied a
>>> loadvm cannot restore a savevm from an earlier version?
>>>
>>> Not so much for qemu-system-sparc64 which is still somewhat
>>> experimental, however qemu-system-sparc has become very usable since
>>> 2012 with the advent of the cg3 and OpenBIOS changes that can now run
>>> Solaris/SunOS and I do have a slight concern that people could lose
>>> their qcow2 snapshots. Then again if we document this loudly in the
>>> release notes then I guess it is possible to convert a snapshot back to
>>> a raw, boot that and then savevm it back to the newer qcow2 again...
>>
>> I think you and Peter speak about different snapshots. The filesystem
>> snapshots are not affected with this series, so no need to convert
>> qcow2 back and force.
>> What would be broken is the live system snapshot - it won't be
>> possible to live migrate from one QEMU version to another one without
>> rebooting the guest.
>> But I guess a reboot for a QEMU upgrade is not too expensive for our
>> current users.
>
> Let me try and clarify myself a bit more here - I do have some test
> snapshots with qcow2 images created with "savevm" which also saves the
> complete machine state alongside the disk image snapshot to enable me to
> jump straight to a specific point in time.
>
> I was wondering if it would be possible to "loadvm" a machine state from
> a snapshot running under the old QEMU version so that the image can be
> shutdown correctly and then bring up just the qcow2 filesystem snapshot
> in the new QEMU version, at which point I can get the VM to a similar
> point and then "savevm" again to get back to where I was. If that is the
> case then I'm okay with the changes as long as we note this in the
> release notes (so I'm also fine with requiring a reboot after the upgrade).
I haven't tested this patch set, but yes, you describe exaclty the
sequence which should work for the migration.
Artyom
--
Regards,
Artyom Tarasenko
SPARC and PPC PReP under qemu blog: http://tyom.blogspot.com/search/label/qemu
prev parent reply other threads:[~2015-08-18 8:56 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-10 12:34 [Qemu-devel] [PATCH 0/4] target-sparc: Update to use VMStateDescription Peter Maydell
2015-08-10 12:34 ` [Qemu-devel] [PATCH 1/4] vmstate: introduce CPU_DoubleU arrays Peter Maydell
2015-08-10 12:34 ` [Qemu-devel] [PATCH 2/4] target-sparc: Split cpu_put_psr into side-effect and no-side-effect parts Peter Maydell
2015-08-10 12:34 ` [Qemu-devel] [PATCH 3/4] target-sparc: Don't flush TLB in cpu_load function Peter Maydell
2015-08-10 12:34 ` [Qemu-devel] [PATCH 4/4] target-sparc: Convert to VMStateDescription Peter Maydell
2015-08-18 15:15 ` Paolo Bonzini
2015-08-13 22:37 ` [Qemu-devel] [PATCH 0/4] target-sparc: Update to use VMStateDescription Mark Cave-Ayland
2015-08-14 10:55 ` Peter Maydell
2015-08-14 12:15 ` Artyom Tarasenko
2015-08-17 18:22 ` Mark Cave-Ayland
2015-08-18 8:55 ` Artyom Tarasenko [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='CACXAS8AEQD02_UJ_OBFyokWmLVyd12DKsTYFocQ9fv=8bvbiPQ@mail.gmail.com' \
--to=atar4qemu@gmail.com \
--cc=afaerber@suse.de \
--cc=blauwirbel@gmail.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=patches@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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).