From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: kvm-devel <kvm@vger.kernel.org>, Gleb Natapov <gleb@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
John Cooper <john.cooper@redhat.com>,
dlaor@redhat.com, Alexander Graf <agraf@suse.de>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] cpuid problem in upstream qemu with kvm
Date: Thu, 07 Jan 2010 07:14:50 -0600 [thread overview]
Message-ID: <4B45DE4A.6010608@codemonkey.ws> (raw)
In-Reply-To: <4B45D642.3070009@redhat.com>
On 01/07/2010 06:40 AM, Avi Kivity wrote:
> On 01/07/2010 02:33 PM, Anthony Liguori wrote:
>>
>> There's another option.
>>
>> Make cpuid information part of live migration protocol, and then
>> support something like -cpu Xeon-3550. We would remember the exact
>> cpuid mask we present to the guest and then we could validate that we
>> can obtain the same mask on the destination.
>
> Currently, our policy is to only migrate dynamic (from the guest's
> point of view) state, and specify static state on the command line [1].
>
> I think your suggestion makes a lot of sense, but I'd like to expand
> it to move all guest state, whether dynamic or static. So '-m 1G'
> would be migrated as well (but not -mem-path). Similarly, in -drive
> file=...,if=ide,index=1, everything but file=... would be migrated.
Yes, I agree with this and it should be in the form of an fdt. This
means we need full qdev conversion.
But I think cpuid is somewhere in the middle with respect to static vs.
dynamic. For instance, -cpu host is very dynamic in that you get very
difficult results on different systems. Likewise, because of kvm
filtering, even -cpu qemu64 can be dynamic.
So if we didn't have filtering and -cpu host, I'd agree that it's
totally static but I think in the current state, it's dynamic.
> This has an advantage wrt hotplug: since qemu is responsible for
> migrating all guest visible information, the migrator is no longer
> responsible for replaying hotplug events in the exact sequence they
> happened.
Yup, 100% in agreement as a long term goal.
> In short, I think we should apply your suggestion as broadly as possible.
>
> [1] cpuid state is actually dynamic; repeated cpuid instruction
> execution with the same operands can return different results. kvm
> supports querying and setting this state.
Yes, and we save some cpuid state in cpu. We just don't save all of it.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2010-01-07 13:15 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-14 19:35 [Qemu-devel] cpuid problem in upstream qemu with kvm Michael S. Tsirkin
2009-12-14 19:44 ` Anthony Liguori
2009-12-14 19:44 ` Michael S. Tsirkin
2009-12-14 19:57 ` Anthony Liguori
2009-12-14 20:00 ` Gleb Natapov
2009-12-14 20:02 ` Anthony Liguori
2009-12-14 20:08 ` Gleb Natapov
2009-12-14 20:14 ` Michael S. Tsirkin
2009-12-14 20:10 ` Michael S. Tsirkin
2009-12-14 20:18 ` Anthony Liguori
2009-12-14 20:31 ` Michael S. Tsirkin
2009-12-14 20:54 ` Anthony Liguori
2009-12-14 21:10 ` Michael S. Tsirkin
2009-12-14 21:49 ` Anthony Liguori
2009-12-15 14:28 ` Michael S. Tsirkin
2009-12-15 17:37 ` Anthony Liguori
2009-12-15 17:56 ` Michael S. Tsirkin
2009-12-20 9:42 ` Avi Kivity
2009-12-20 9:49 ` Avi Kivity
2009-12-20 14:48 ` Anthony Liguori
2009-12-20 14:55 ` Avi Kivity
2009-12-20 15:33 ` Anthony Liguori
2009-12-20 15:36 ` Avi Kivity
2009-12-20 15:38 ` Gleb Natapov
2009-12-20 15:40 ` Avi Kivity
2009-12-20 15:49 ` Michael S. Tsirkin
2009-12-20 15:53 ` Avi Kivity
2009-12-20 15:51 ` Michael S. Tsirkin
2009-12-20 15:59 ` Avi Kivity
2009-12-20 16:56 ` Michael S. Tsirkin
2009-12-20 17:17 ` Alexander Graf
2009-12-20 17:18 ` Michael S. Tsirkin
2009-12-20 17:23 ` Alexander Graf
2009-12-20 17:23 ` Gleb Natapov
2009-12-20 17:29 ` Alexander Graf
2009-12-20 17:37 ` Gleb Natapov
2009-12-20 17:59 ` Anthony Liguori
2009-12-20 18:06 ` Alexander Graf
2009-12-21 7:48 ` Gleb Natapov
2009-12-21 13:25 ` [Qemu-devel] " Paolo Bonzini
2009-12-20 18:12 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-21 7:43 ` Gleb Natapov
2009-12-21 8:28 ` Dor Laor
2009-12-21 22:51 ` john cooper
2009-12-22 13:54 ` Dor Laor
2009-12-22 15:19 ` john cooper
2009-12-22 16:12 ` Anthony Liguori
2010-01-05 6:06 ` john cooper
2010-01-06 8:02 ` [Qemu-devel] " Paolo Bonzini
[not found] ` <4B31F1BA.10005@redhat.com>
2010-01-06 0:10 ` [Qemu-devel] " Anthony Liguori
2010-01-06 3:25 ` Avi Kivity
2010-01-06 13:25 ` Anthony Liguori
2010-01-06 13:35 ` Michael S. Tsirkin
2010-01-06 13:47 ` Avi Kivity
2010-01-06 13:49 ` Anthony Liguori
2010-01-06 13:54 ` Avi Kivity
2010-01-06 13:55 ` Alexander Graf
2010-01-06 13:58 ` Avi Kivity
2010-01-06 14:22 ` Michael S. Tsirkin
2010-01-06 14:32 ` Avi Kivity
2010-01-06 14:48 ` Dor Laor
2010-01-06 15:16 ` Anthony Liguori
2010-01-07 8:03 ` Dor Laor
2010-01-07 8:18 ` Avi Kivity
2010-01-07 9:11 ` Dor Laor
2010-01-07 9:24 ` Avi Kivity
2010-01-07 9:40 ` Dor Laor
2010-01-07 11:39 ` Anthony Liguori
2010-01-07 11:44 ` Dor Laor
2010-01-07 12:00 ` Avi Kivity
2010-01-07 12:20 ` Dor Laor
2010-01-07 12:33 ` Anthony Liguori
2010-01-07 12:40 ` Avi Kivity
2010-01-07 12:47 ` Daniel P. Berrange
2010-01-07 12:50 ` Avi Kivity
2010-01-07 13:14 ` Anthony Liguori [this message]
2010-01-07 13:42 ` Dor Laor
2010-01-11 13:26 ` Markus Armbruster
2010-01-07 11:59 ` Avi Kivity
2010-01-07 12:17 ` Dor Laor
2010-01-07 8:24 ` Daniel P. Berrange
2010-01-07 9:13 ` Dor Laor
2010-01-06 15:02 ` Michael S. Tsirkin
2010-01-06 15:12 ` Anthony Liguori
2010-01-06 9:44 ` Daniel P. Berrange
2010-01-06 9:54 ` Avi Kivity
2010-01-06 10:21 ` Daniel P. Berrange
2010-01-06 10:25 ` Avi Kivity
2010-01-06 16:19 ` Lennart Sorensen
2009-12-21 11:15 ` Avi Kivity
2009-12-21 12:59 ` Andre Przywara
2009-12-21 16:14 ` Avi Kivity
2009-12-22 23:02 ` Jamie Lokier
2009-12-21 11:12 ` Avi Kivity
2009-12-21 11:18 ` Michael S. Tsirkin
2009-12-21 11:22 ` Alexander Graf
2009-12-21 11:38 ` Michael S. Tsirkin
2009-12-21 11:45 ` Alexander Graf
2009-12-21 12:02 ` Michael S. Tsirkin
2009-12-22 22:52 ` Jamie Lokier
2009-12-21 12:05 ` Avi Kivity
2009-12-21 13:45 ` David S. Ahern
2009-12-21 13:51 ` Michael S. Tsirkin
2009-12-21 14:07 ` David S. Ahern
2009-12-21 16:11 ` Avi Kivity
2009-12-21 12:04 ` Avi Kivity
2009-12-21 12:04 ` Michael S. Tsirkin
2009-12-21 12:09 ` Avi Kivity
2009-12-21 12:17 ` Michael S. Tsirkin
2009-12-21 11:38 ` Yaniv Kaul
2009-12-21 13:31 ` [Qemu-devel] " Paolo Bonzini
2009-12-22 22:56 ` Jamie Lokier
2009-12-16 14:23 ` [Qemu-devel] " Andre Przywara
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=4B45DE4A.6010608@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=agraf@suse.de \
--cc=avi@redhat.com \
--cc=dlaor@redhat.com \
--cc=gleb@redhat.com \
--cc=john.cooper@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--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).