qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

      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).