qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: mrhines@linux.vnet.ibm.com
Cc: aliguori@us.ibm.com, quintela@redhat.com, qemu-devel@nongnu.org,
	owasserm@redhat.com, abali@us.ibm.com, mrhines@us.ibm.com,
	gokul@us.ibm.com, pbonzini@redhat.com, chegu_vinod@hp.com,
	knoel@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 resend 7/8] rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition
Date: Tue, 08 Oct 2013 08:49:25 -0600	[thread overview]
Message-ID: <52541B75.7010704@redhat.com> (raw)
In-Reply-To: <1374501718-2581-8-git-send-email-mrhines@linux.vnet.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 2436 bytes --]

On 07/22/2013 08:01 AM, mrhines@linux.vnet.ibm.com wrote:
> From: "Michael R. Hines" <mrhines@us.ibm.com>
> 
> As described in the previous patch, until now, the MIG_STATE_SETUP
> state was not really a 'formal' state. It has been used as a 'zero' state
> (what we're calling 'NONE' here) and QEMU has been unconditionally transitioning
> into this state when the QMP migration command was called. Instead we want to
> introduce MIG_STATE_NONE, which is our starting state in the state machine, and
> then immediately transition into the MIG_STATE_SETUP state when the QMP migrate
> command is issued.
> 
> In order to do this, we must delay the transition into MIG_STATE_ACTIVE until
> later in the migration_thread(). This is done to be able to timestamp the amount of
> time spent in the SETUP state for proper accounting to the user during
> an RDMA migration.
> 
> Furthermore, the management software, until now, has never been aware of the
> existence of the SETUP state whatsoever. This must change, because, timing of this
> state implies that the state actually exists.
> 
> These two patches cannot be separated because the 'query_migrate' QMP
> switch statement needs to know how to handle this new state transition.

This patch causes an issue with libvirt migration:

https://bugzilla.redhat.com/show_bug.cgi?id=1015636

> +    case MIG_STATE_SETUP:
> +        info->has_status = true;
> +        info->status = g_strdup("setup");
> +        break;

You are now returning a state that older libvirt versions are not
expecting.  Obviously, we can patch newer libvirt to make migration work
again, but should we be thinking about damage control by stating that an
older management app should still be able to drive migration on a new
qemu?  Or is it acceptable to state that newer qemu requires newer
management tools?

If we try to support this working under older management tools, maybe
the approach is that we have to add some new migration capability; newer
management tools set the capability to true and are therefore allowed to
see the new state name; older management tools do not set the capability
and when that is the case we guarantee that we do not return a state
string that the older tool is not expecting.  Thoughts on whether we
should pursue this?

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]

  reply	other threads:[~2013-10-08 14:49 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-22 14:01 [Qemu-devel] [PATCH v3 resend 0/8] rdma: core logic mrhines
2013-07-22 14:01 ` [Qemu-devel] [PATCH v3 resend 1/8] rdma: update documentation to reflect new unpin support mrhines
2013-07-22 14:01 ` [Qemu-devel] [PATCH v3 resend 2/8] rdma: bugfix: ram_control_save_page() mrhines
2013-07-22 14:01 ` [Qemu-devel] [PATCH v3 resend 3/8] rdma: introduce ram_handle_compressed() mrhines
2013-07-22 14:01 ` [Qemu-devel] [PATCH v3 resend 4/8] rdma: core logic mrhines
2013-07-22 14:01 ` [Qemu-devel] [PATCH v3 resend 5/8] rdma: send pc.ram mrhines
2013-07-22 14:01 ` [Qemu-devel] [PATCH v3 resend 6/8] rdma: allow state transitions between other states besides ACTIVE mrhines
2013-07-22 14:01 ` [Qemu-devel] [PATCH v3 resend 7/8] rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition mrhines
2013-10-08 14:49   ` Eric Blake [this message]
2013-10-08 16:05     ` Paolo Bonzini
2013-10-08 17:32       ` Michael R. Hines
2013-10-08 17:46         ` Eric Blake
2013-10-22 23:39       ` Chris Wulff
2013-07-22 14:01 ` [Qemu-devel] [PATCH v3 resend 8/8] rdma: account for the time spent in MIG_STATE_SETUP through QMP mrhines
  -- strict thread matches above, loose matches on Subject: below --
2013-07-16 16:48 [Qemu-devel] [PATCH v3 resend 0/8] rdma: core logic mrhines
2013-07-16 16:48 ` [Qemu-devel] [PATCH v3 resend 7/8] rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition mrhines

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=52541B75.7010704@redhat.com \
    --to=eblake@redhat.com \
    --cc=abali@us.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=chegu_vinod@hp.com \
    --cc=gokul@us.ibm.com \
    --cc=knoel@redhat.com \
    --cc=mrhines@linux.vnet.ibm.com \
    --cc=mrhines@us.ibm.com \
    --cc=owasserm@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.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).