From: Igor Mammedov <imammedo@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: kvm@vger.kernel.org, "Gleb Natapov" <gleb@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>
Subject: Re: [PATCH 2/2] target-i386: kvm: enable all supported KVM features for -cpu host
Date: Wed, 2 Jan 2013 21:30:20 +0100 [thread overview]
Message-ID: <20130102213020.6310f028@thinkpad.mammed.net> (raw)
In-Reply-To: <20130102152910.GG18372@otherpad.lan.raisama.net>
On Wed, 2 Jan 2013 13:29:10 -0200
Eduardo Habkost <ehabkost@redhat.com> wrote:
> On Wed, Jan 02, 2013 at 03:52:45PM +0100, Igor Mammedov wrote:
> > On Fri, 28 Dec 2012 16:37:34 -0200
> > Eduardo Habkost <ehabkost@redhat.com> wrote:
> >
> > > When using -cpu host, we don't need to use the kvm_default_features
> > > variable, as the user is explicitly asking QEMU to enable all feature
> > > supported by the host.
> > >
> > > This changes the kvm_cpu_fill_host() code to use GET_SUPPORTED_CPUID to
> > > initialize the kvm_features field, so we get all host KVM features
> > > enabled.
> >
> > 1_2 and 1_3 compat machines diff on pv_eoi flag, with this patch 1_2 might
> > have it set.
> > Is it ok from compat machines pov?
>
> -cpu host is completely dependent on host hardware and kernel version,
> there are no compatibility expectations.
It's still kind of unpleasant surprise if on the same host
"qemu-1.3 -cpu host -machine pc-1.2" and "qemu-1.3+ -cpu host -machine pc-1.2"
would give different pv_eoi feature default, where pv-eoi should be
available after -machine pc-1.2 by default.
>
> >
> > >
> > > This will also allow use to properly check/enforce KVM features inside
> > > kvm_check_features_against_host() later. For example, we will be able to
> > > make this:
> > >
> > > $ qemu-system-x86_64 -cpu ...,+kvm_pv_eoi,enforce
> > >
> > > refuse to start if kvm_pv_eoi is not supported by the host (after we fix
> > > kvm_check_features_against_host() to check KVM flags as well).
> > It would be nice to have kvm_check_features_against_host() patch in this
> > series to verify that this patch and previous patch works as expected.
>
> The kvm_check_features_against_host() change would be a user-visible
> behavior change, and I wanted to keep the changes minimal by now. (the
> main reason I submitted this earlier is to make it easier to clean up
> the init code for CPU subclasses)
>
> I was planning to introduce those behavior changes only after
> introducing the feature-word array, so the kvm_check_features_against_host()
> code can become simpler and easier to review (instead of adding 4
> additional items to the messy struct model_features_t array). But if you
> think we can introduce those changes now, I will be happy to send a
> series that changes that code as well.
It would be better if it and simplifying kvm_check_features_against_host()
were in here together.
>
> >
> > >
> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > > ---
> > > target-i386/cpu.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> > > index 6e2d32d..76f19f0 100644
> > > --- a/target-i386/cpu.c
> > > +++ b/target-i386/cpu.c
> > > @@ -900,6 +900,8 @@ static void kvm_cpu_fill_host(x86_def_t *x86_cpu_def)
> > > /* Other KVM-specific feature fields: */
> > > x86_cpu_def->svm_features =
> > > kvm_arch_get_supported_cpuid(s, 0x8000000A, 0, R_EDX);
> > > + x86_cpu_def->kvm_features =
> > > + kvm_arch_get_supported_cpuid(s, KVM_CPUID_FEATURES, 0,
> > > R_EAX);
> > > #endif /* CONFIG_KVM */
> > > }
> >
>
> --
> Eduardo
>
--
Regards,
Igor
WARNING: multiple messages have this Message-ID (diff)
From: Igor Mammedov <imammedo@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: kvm@vger.kernel.org, "Gleb Natapov" <gleb@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [PATCH 2/2] target-i386: kvm: enable all supported KVM features for -cpu host
Date: Wed, 2 Jan 2013 21:30:20 +0100 [thread overview]
Message-ID: <20130102213020.6310f028@thinkpad.mammed.net> (raw)
In-Reply-To: <20130102152910.GG18372@otherpad.lan.raisama.net>
On Wed, 2 Jan 2013 13:29:10 -0200
Eduardo Habkost <ehabkost@redhat.com> wrote:
> On Wed, Jan 02, 2013 at 03:52:45PM +0100, Igor Mammedov wrote:
> > On Fri, 28 Dec 2012 16:37:34 -0200
> > Eduardo Habkost <ehabkost@redhat.com> wrote:
> >
> > > When using -cpu host, we don't need to use the kvm_default_features
> > > variable, as the user is explicitly asking QEMU to enable all feature
> > > supported by the host.
> > >
> > > This changes the kvm_cpu_fill_host() code to use GET_SUPPORTED_CPUID to
> > > initialize the kvm_features field, so we get all host KVM features
> > > enabled.
> >
> > 1_2 and 1_3 compat machines diff on pv_eoi flag, with this patch 1_2 might
> > have it set.
> > Is it ok from compat machines pov?
>
> -cpu host is completely dependent on host hardware and kernel version,
> there are no compatibility expectations.
It's still kind of unpleasant surprise if on the same host
"qemu-1.3 -cpu host -machine pc-1.2" and "qemu-1.3+ -cpu host -machine pc-1.2"
would give different pv_eoi feature default, where pv-eoi should be
available after -machine pc-1.2 by default.
>
> >
> > >
> > > This will also allow use to properly check/enforce KVM features inside
> > > kvm_check_features_against_host() later. For example, we will be able to
> > > make this:
> > >
> > > $ qemu-system-x86_64 -cpu ...,+kvm_pv_eoi,enforce
> > >
> > > refuse to start if kvm_pv_eoi is not supported by the host (after we fix
> > > kvm_check_features_against_host() to check KVM flags as well).
> > It would be nice to have kvm_check_features_against_host() patch in this
> > series to verify that this patch and previous patch works as expected.
>
> The kvm_check_features_against_host() change would be a user-visible
> behavior change, and I wanted to keep the changes minimal by now. (the
> main reason I submitted this earlier is to make it easier to clean up
> the init code for CPU subclasses)
>
> I was planning to introduce those behavior changes only after
> introducing the feature-word array, so the kvm_check_features_against_host()
> code can become simpler and easier to review (instead of adding 4
> additional items to the messy struct model_features_t array). But if you
> think we can introduce those changes now, I will be happy to send a
> series that changes that code as well.
It would be better if it and simplifying kvm_check_features_against_host()
were in here together.
>
> >
> > >
> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > > ---
> > > target-i386/cpu.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> > > index 6e2d32d..76f19f0 100644
> > > --- a/target-i386/cpu.c
> > > +++ b/target-i386/cpu.c
> > > @@ -900,6 +900,8 @@ static void kvm_cpu_fill_host(x86_def_t *x86_cpu_def)
> > > /* Other KVM-specific feature fields: */
> > > x86_cpu_def->svm_features =
> > > kvm_arch_get_supported_cpuid(s, 0x8000000A, 0, R_EDX);
> > > + x86_cpu_def->kvm_features =
> > > + kvm_arch_get_supported_cpuid(s, KVM_CPUID_FEATURES, 0,
> > > R_EAX);
> > > #endif /* CONFIG_KVM */
> > > }
> >
>
> --
> Eduardo
>
--
Regards,
Igor
next prev parent reply other threads:[~2013-01-02 20:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-28 18:37 [PATCH 0/2] Fixes for -cpu host KVM/SVM feature initialization Eduardo Habkost
2012-12-28 18:37 ` [Qemu-devel] " Eduardo Habkost
2012-12-28 18:37 ` [PATCH 1/2] target-i386: kvm: -cpu host: use GET_SUPPORTED_CPUID for SVM features Eduardo Habkost
2012-12-28 18:37 ` [Qemu-devel] " Eduardo Habkost
2013-01-02 14:33 ` Igor Mammedov
2013-01-02 14:33 ` Igor Mammedov
2013-01-02 14:39 ` Andreas Färber
2013-01-02 14:39 ` Andreas Färber
2013-01-02 15:19 ` Eduardo Habkost
2013-01-02 15:19 ` [Qemu-devel] " Eduardo Habkost
2012-12-28 18:37 ` [PATCH 2/2] target-i386: kvm: enable all supported KVM features for -cpu host Eduardo Habkost
2012-12-28 18:37 ` [Qemu-devel] " Eduardo Habkost
2013-01-02 14:52 ` Igor Mammedov
2013-01-02 14:52 ` [Qemu-devel] " Igor Mammedov
2013-01-02 15:29 ` Eduardo Habkost
2013-01-02 15:29 ` [Qemu-devel] " Eduardo Habkost
2013-01-02 20:30 ` Igor Mammedov [this message]
2013-01-02 20:30 ` Igor Mammedov
2013-01-02 20:52 ` Eduardo Habkost
2013-01-02 20:52 ` [Qemu-devel] " Eduardo Habkost
2013-01-02 14:44 ` [Qemu-devel] [PATCH 0/2] Fixes for -cpu host KVM/SVM feature initialization Andreas Färber
2013-01-02 14:44 ` Andreas Färber
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=20130102213020.6310f028@thinkpad.mammed.net \
--to=imammedo@redhat.com \
--cc=afaerber@suse.de \
--cc=ehabkost@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=mtosatti@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 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.