From: Don Slutz <Don@CloudSwitch.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: imammedo@redhat.com, qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [PATCH v2 1/1] target-i386: Fix default Hypervisor level for hypervisor-vendor=kvm.
Date: Fri, 21 Sep 2012 23:26:33 -0400 [thread overview]
Message-ID: <505D2FE9.6090607@CloudSwitch.com> (raw)
In-Reply-To: <20120921215322.GE3983@otherpad.lan.raisama.net>
On 09/21/12 17:53, Eduardo Habkost wrote:
> On Fri, Sep 21, 2012 at 05:28:27PM -0400, Don Slutz wrote:
>> On 09/21/12 16:49, Eduardo Habkost wrote:
>>> On Fri, Sep 21, 2012 at 04:26:58PM -0400, Don Slutz wrote:
>>>> On 09/21/12 10:18, Eduardo Habkost wrote:
>>>>> On Thu, Sep 20, 2012 at 04:06:27PM -0400, Don Slutz wrote:
>>>>>> From http://lkml.indiana.edu/hypermail/linux/kernel/1205.0/00100.html
>>>>>> EAX should be KVM_CPUID_FEATURES (0x40000001) not 0.
>>>>>>
>>>>>> Added hypervisor-vendor=kvm0 to get the older CPUID result. kvm1 selects the newer one.
>>>>> Why not just make "hypervisor-vendor=kvm" control only the hypervisor
>>>>> vendor string, and support something like "kvm-hypervisor-level=0" to
>>>>> restore the old cpuid_hv_level=0 behavior?
>>>> -cpu host,hypervisor-vendor=kvm,hypervisor-level=0
>>>>
>>>> Does this.
>>> Good. :-)
>>>
>>>>> This is similar to the kvmclock case: it would allow us to make
>>>>> "hypervisor-vendor=kvm" use saner values as default, but letting old
>>>>> machine-types to override it for compatibility if required.
>>>> Right now since I am using env->cpuid_hv_level == 0 as a flag. This
>>>> means that:
>>>>
>>>> -cpu host,hypervisor-level=0,hypervisor-vendor=kvm
>>>>
>>>> -cpu host,hypervisor-vendor=kvm,hypervisor-level=0
>>>>
>>>> end up with different CPUID data (Which I do not like). I will fix this in the next round.
>>> Right. This has to be fixed.
>>>
>>>> Did you want me to drop kvm0 and kvm1?
>>> Yes, if level is already configurable using the hypervisor-level
>>> property, I don't see the need for kvm0 and kvm1.
>>>
>>> If you make kvm_arch_init_vcpu() actually use those fields, you will end
>>> up implementing what's required to allow migration compatibility to be
>>> kept (the only thing missing is to make the CPU class a child of
>>> DeviceState, and add hypervisor-level=0 to the existing machine-types).
>>> :-)
>>>
>> You mean like
>> http://lists.gnu.org/archive/html/qemu-devel/2012-09/msg03402.html
>> and
>> http://lists.gnu.org/archive/html/qemu-devel/2012-09/msg03405.html
>> already change kvm_arch_init_vcpu().
> Yes! Sorry, I hadn't reviewed all of your previous series yet. :-)
>
>> I did not know that I need to
>> make the CPU class a child of DeviceState.
> You don't. But we plan to do that, eventually, so we can put
> CPU compatibility properties into machine-types.
>
>> Nor that I needed to add hypervisor-vendor=kvm,hypervisor-level=0 to
>> the existing machine-types. Since without specifying
>> hypervisor-level=0 it defaults to 0 and kvm_arch_init_vcpu() will
>> default to setting hypervisor-vendor=kvm.
> What I would like to do is: to change the default to 0x40000001 (that's
> the correct value), but make the pc-1.1 and older machine-types keep the
> hypervisor-level=0 default for compatibility.
>
> (But to be able to do that, we need to first make the CPU class a child
> of DeviceState, so that's something to be done later)
>
Now that ([PATCH v5 00/17] Allow changing...):
http://lists.gnu.org/archive/html/qemu-devel/2012-09/msg03810.html
is released, this contains all that is left of the patch set. So there
will not be a v3. This patch set is withdrawn.
-Don
WARNING: multiple messages have this Message-ID (diff)
From: Don Slutz <Don@CloudSwitch.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: imammedo@redhat.com, qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [PATCH v2 1/1] target-i386: Fix default Hypervisor level for hypervisor-vendor=kvm.
Date: Fri, 21 Sep 2012 23:26:33 -0400 [thread overview]
Message-ID: <505D2FE9.6090607@CloudSwitch.com> (raw)
In-Reply-To: <20120921215322.GE3983@otherpad.lan.raisama.net>
On 09/21/12 17:53, Eduardo Habkost wrote:
> On Fri, Sep 21, 2012 at 05:28:27PM -0400, Don Slutz wrote:
>> On 09/21/12 16:49, Eduardo Habkost wrote:
>>> On Fri, Sep 21, 2012 at 04:26:58PM -0400, Don Slutz wrote:
>>>> On 09/21/12 10:18, Eduardo Habkost wrote:
>>>>> On Thu, Sep 20, 2012 at 04:06:27PM -0400, Don Slutz wrote:
>>>>>> From http://lkml.indiana.edu/hypermail/linux/kernel/1205.0/00100.html
>>>>>> EAX should be KVM_CPUID_FEATURES (0x40000001) not 0.
>>>>>>
>>>>>> Added hypervisor-vendor=kvm0 to get the older CPUID result. kvm1 selects the newer one.
>>>>> Why not just make "hypervisor-vendor=kvm" control only the hypervisor
>>>>> vendor string, and support something like "kvm-hypervisor-level=0" to
>>>>> restore the old cpuid_hv_level=0 behavior?
>>>> -cpu host,hypervisor-vendor=kvm,hypervisor-level=0
>>>>
>>>> Does this.
>>> Good. :-)
>>>
>>>>> This is similar to the kvmclock case: it would allow us to make
>>>>> "hypervisor-vendor=kvm" use saner values as default, but letting old
>>>>> machine-types to override it for compatibility if required.
>>>> Right now since I am using env->cpuid_hv_level == 0 as a flag. This
>>>> means that:
>>>>
>>>> -cpu host,hypervisor-level=0,hypervisor-vendor=kvm
>>>>
>>>> -cpu host,hypervisor-vendor=kvm,hypervisor-level=0
>>>>
>>>> end up with different CPUID data (Which I do not like). I will fix this in the next round.
>>> Right. This has to be fixed.
>>>
>>>> Did you want me to drop kvm0 and kvm1?
>>> Yes, if level is already configurable using the hypervisor-level
>>> property, I don't see the need for kvm0 and kvm1.
>>>
>>> If you make kvm_arch_init_vcpu() actually use those fields, you will end
>>> up implementing what's required to allow migration compatibility to be
>>> kept (the only thing missing is to make the CPU class a child of
>>> DeviceState, and add hypervisor-level=0 to the existing machine-types).
>>> :-)
>>>
>> You mean like
>> http://lists.gnu.org/archive/html/qemu-devel/2012-09/msg03402.html
>> and
>> http://lists.gnu.org/archive/html/qemu-devel/2012-09/msg03405.html
>> already change kvm_arch_init_vcpu().
> Yes! Sorry, I hadn't reviewed all of your previous series yet. :-)
>
>> I did not know that I need to
>> make the CPU class a child of DeviceState.
> You don't. But we plan to do that, eventually, so we can put
> CPU compatibility properties into machine-types.
>
>> Nor that I needed to add hypervisor-vendor=kvm,hypervisor-level=0 to
>> the existing machine-types. Since without specifying
>> hypervisor-level=0 it defaults to 0 and kvm_arch_init_vcpu() will
>> default to setting hypervisor-vendor=kvm.
> What I would like to do is: to change the default to 0x40000001 (that's
> the correct value), but make the pc-1.1 and older machine-types keep the
> hypervisor-level=0 default for compatibility.
>
> (But to be able to do that, we need to first make the CPU class a child
> of DeviceState, so that's something to be done later)
>
Now that ([PATCH v5 00/17] Allow changing...):
http://lists.gnu.org/archive/html/qemu-devel/2012-09/msg03810.html
is released, this contains all that is left of the patch set. So there
will not be a v3. This patch set is withdrawn.
-Don
next prev parent reply other threads:[~2012-09-22 3:26 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-20 20:06 [PATCH v2 0/1] target-i386: Fix default Hypervisor level for kvm Don Slutz
2012-09-20 20:06 ` [Qemu-devel] " Don Slutz
2012-09-20 20:06 ` [PATCH v2 1/1] target-i386: Fix default Hypervisor level for hypervisor-vendor=kvm Don Slutz
2012-09-20 20:06 ` [Qemu-devel] " Don Slutz
2012-09-21 14:18 ` Eduardo Habkost
2012-09-21 14:18 ` [Qemu-devel] " Eduardo Habkost
2012-09-21 20:26 ` Don Slutz
2012-09-21 20:26 ` [Qemu-devel] " Don Slutz
2012-09-21 20:49 ` Eduardo Habkost
2012-09-21 20:49 ` [Qemu-devel] " Eduardo Habkost
2012-09-21 21:28 ` Don Slutz
2012-09-21 21:28 ` [Qemu-devel] " Don Slutz
2012-09-21 21:53 ` Eduardo Habkost
2012-09-21 21:53 ` [Qemu-devel] " Eduardo Habkost
2012-09-22 3:26 ` Don Slutz [this message]
2012-09-22 3:26 ` Don Slutz
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=505D2FE9.6090607@CloudSwitch.com \
--to=don@cloudswitch.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=kvm@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.