* [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits
@ 2018-04-16 16:39 Eduardo Habkost
2018-04-16 16:39 ` [Qemu-devel] [PULL 1/1] " Eduardo Habkost
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Eduardo Habkost @ 2018-04-16 16:39 UTC (permalink / raw)
To: Peter Maydell
Cc: Paolo Bonzini, qemu-devel, Richard Henderson, Eduardo Habkost
Last remaining fix for -rc4.
The following changes since commit 042f6a31af3d38eefc6ec995cce1d762c41d4515:
Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2018-04-16' into staging (2018-04-16 15:30:54 +0100)
are available in the Git repository at:
git://github.com/ehabkost/qemu.git tags/x86-next-pull-request
for you to fetch changes up to 0d914f39a77954bf5472b16130aeefe573a068f5:
i386: Don't automatically enable FEAT_KVM_HINTS bits (2018-04-16 13:36:52 -0300)
----------------------------------------------------------------
i386: Don't automatically enable FEAT_KVM_HINTS bits
Bug fix for "-cpu host" with newer kernels.
----------------------------------------------------------------
Eduardo Habkost (1):
i386: Don't automatically enable FEAT_KVM_HINTS bits
target/i386/cpu.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
--
2.14.3
^ permalink raw reply [flat|nested] 7+ messages in thread* [Qemu-devel] [PULL 1/1] i386: Don't automatically enable FEAT_KVM_HINTS bits 2018-04-16 16:39 [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits Eduardo Habkost @ 2018-04-16 16:39 ` Eduardo Habkost 2018-04-16 16:57 ` [Qemu-devel] [PULL 0/1] " Peter Maydell 2018-04-17 11:03 ` Peter Maydell 2 siblings, 0 replies; 7+ messages in thread From: Eduardo Habkost @ 2018-04-16 16:39 UTC (permalink / raw) To: Peter Maydell Cc: Paolo Bonzini, qemu-devel, Richard Henderson, Eduardo Habkost The assumption in the cpu->max_features code is that anything enabled on GET_SUPPORTED_CPUID should be enabled on "-cpu host". This shouldn't be the case for FEAT_KVM_HINTS. This adds a new FeatureWordInfo::no_autoenable_flags field, that can be used to prevent FEAT_KVM_HINTS bits to be enabled automatically. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20180410211534.26079-1-ehabkost@redhat.com> Tested-by: Wanpeng Li <wanpengli@tencent.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- target/i386/cpu.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 1a6b082b6f..a20fe26573 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -295,6 +295,8 @@ typedef struct FeatureWordInfo { uint32_t tcg_features; /* Feature flags supported by TCG */ uint32_t unmigratable_flags; /* Feature flags known to be unmigratable */ uint32_t migratable_flags; /* Feature flags known to be migratable */ + /* Features that shouldn't be auto-enabled by "-cpu host" */ + uint32_t no_autoenable_flags; } FeatureWordInfo; static FeatureWordInfo feature_word_info[FEATURE_WORDS] = { @@ -400,6 +402,11 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = { }, .cpuid_eax = KVM_CPUID_FEATURES, .cpuid_reg = R_EDX, .tcg_features = TCG_KVM_FEATURES, + /* + * KVM hints aren't auto-enabled by -cpu host, they need to be + * explicitly enabled in the command-line. + */ + .no_autoenable_flags = ~0U, }, [FEAT_HYPERV_EAX] = { .feat_names = { @@ -4062,7 +4069,8 @@ static void x86_cpu_expand_features(X86CPU *cpu, Error **errp) */ env->features[w] |= x86_cpu_get_supported_feature_word(w, cpu->migratable) & - ~env->user_features[w]; + ~env->user_features[w] & \ + ~feature_word_info[w].no_autoenable_flags; } } -- 2.14.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits 2018-04-16 16:39 [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits Eduardo Habkost 2018-04-16 16:39 ` [Qemu-devel] [PULL 1/1] " Eduardo Habkost @ 2018-04-16 16:57 ` Peter Maydell 2018-04-16 17:42 ` Eduardo Habkost 2018-04-17 11:03 ` Peter Maydell 2 siblings, 1 reply; 7+ messages in thread From: Peter Maydell @ 2018-04-16 16:57 UTC (permalink / raw) To: Eduardo Habkost; +Cc: Paolo Bonzini, QEMU Developers, Richard Henderson On 16 April 2018 at 17:39, Eduardo Habkost <ehabkost@redhat.com> wrote: > Last remaining fix for -rc4. > > The following changes since commit 042f6a31af3d38eefc6ec995cce1d762c41d4515: > > Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2018-04-16' into staging (2018-04-16 15:30:54 +0100) > > are available in the Git repository at: > > git://github.com/ehabkost/qemu.git tags/x86-next-pull-request > > for you to fetch changes up to 0d914f39a77954bf5472b16130aeefe573a068f5: > > i386: Don't automatically enable FEAT_KVM_HINTS bits (2018-04-16 13:36:52 -0300) > > ---------------------------------------------------------------- > i386: Don't automatically enable FEAT_KVM_HINTS bits > > Bug fix for "-cpu host" with newer kernels. > > ---------------------------------------------------------------- Is this a regression since 2.11 ? thanks -- PMM ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits 2018-04-16 16:57 ` [Qemu-devel] [PULL 0/1] " Peter Maydell @ 2018-04-16 17:42 ` Eduardo Habkost 2018-04-16 17:46 ` Eduardo Habkost 0 siblings, 1 reply; 7+ messages in thread From: Eduardo Habkost @ 2018-04-16 17:42 UTC (permalink / raw) To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers, Richard Henderson On Mon, Apr 16, 2018 at 05:57:35PM +0100, Peter Maydell wrote: > On 16 April 2018 at 17:39, Eduardo Habkost <ehabkost@redhat.com> wrote: > > Last remaining fix for -rc4. > > > > The following changes since commit 042f6a31af3d38eefc6ec995cce1d762c41d4515: > > > > Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2018-04-16' into staging (2018-04-16 15:30:54 +0100) > > > > are available in the Git repository at: > > > > git://github.com/ehabkost/qemu.git tags/x86-next-pull-request > > > > for you to fetch changes up to 0d914f39a77954bf5472b16130aeefe573a068f5: > > > > i386: Don't automatically enable FEAT_KVM_HINTS bits (2018-04-16 13:36:52 -0300) > > > > ---------------------------------------------------------------- > > i386: Don't automatically enable FEAT_KVM_HINTS bits > > > > Bug fix for "-cpu host" with newer kernels. > > > > ---------------------------------------------------------------- > > Is this a regression since 2.11 ? Yes. -- Eduardo ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits 2018-04-16 17:42 ` Eduardo Habkost @ 2018-04-16 17:46 ` Eduardo Habkost 2018-04-16 17:49 ` Peter Maydell 0 siblings, 1 reply; 7+ messages in thread From: Eduardo Habkost @ 2018-04-16 17:46 UTC (permalink / raw) To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers, Richard Henderson On Mon, Apr 16, 2018 at 02:42:52PM -0300, Eduardo Habkost wrote: > On Mon, Apr 16, 2018 at 05:57:35PM +0100, Peter Maydell wrote: > > On 16 April 2018 at 17:39, Eduardo Habkost <ehabkost@redhat.com> wrote: > > > Last remaining fix for -rc4. > > > > > > The following changes since commit 042f6a31af3d38eefc6ec995cce1d762c41d4515: > > > > > > Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2018-04-16' into staging (2018-04-16 15:30:54 +0100) > > > > > > are available in the Git repository at: > > > > > > git://github.com/ehabkost/qemu.git tags/x86-next-pull-request > > > > > > for you to fetch changes up to 0d914f39a77954bf5472b16130aeefe573a068f5: > > > > > > i386: Don't automatically enable FEAT_KVM_HINTS bits (2018-04-16 13:36:52 -0300) > > > > > > ---------------------------------------------------------------- > > > i386: Don't automatically enable FEAT_KVM_HINTS bits > > > > > > Bug fix for "-cpu host" with newer kernels. > > > > > > ---------------------------------------------------------------- > > > > Is this a regression since 2.11 ? > > Yes. For reference, it was introduced by: commit be7773268d98176489483a315d3e2323cb0615b9 Author: Wanpeng Li <wanpengli@tencent.com> Date: Fri Feb 9 06:15:25 2018 -0800 target-i386: add KVM_HINTS_DEDICATED performance hint Add KVM_HINTS_DEDICATED performance hint, guest checks this feature bit to determine if they run on dedicated vCPUs, allowing optimizations such as usage of qspinlocks. Sorry for not including a "Fixes:" tag in the commit message. If you think it's worth it, I can redo the pull request with it. -- Eduardo ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits 2018-04-16 17:46 ` Eduardo Habkost @ 2018-04-16 17:49 ` Peter Maydell 0 siblings, 0 replies; 7+ messages in thread From: Peter Maydell @ 2018-04-16 17:49 UTC (permalink / raw) To: Eduardo Habkost; +Cc: Paolo Bonzini, QEMU Developers, Richard Henderson On 16 April 2018 at 18:46, Eduardo Habkost <ehabkost@redhat.com> wrote: > On Mon, Apr 16, 2018 at 02:42:52PM -0300, Eduardo Habkost wrote: >> On Mon, Apr 16, 2018 at 05:57:35PM +0100, Peter Maydell wrote: >> > On 16 April 2018 at 17:39, Eduardo Habkost <ehabkost@redhat.com> wrote: >> > > Last remaining fix for -rc4. >> > > >> > > The following changes since commit 042f6a31af3d38eefc6ec995cce1d762c41d4515: >> > > >> > > Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2018-04-16' into staging (2018-04-16 15:30:54 +0100) >> > > >> > > are available in the Git repository at: >> > > >> > > git://github.com/ehabkost/qemu.git tags/x86-next-pull-request >> > > >> > > for you to fetch changes up to 0d914f39a77954bf5472b16130aeefe573a068f5: >> > > >> > > i386: Don't automatically enable FEAT_KVM_HINTS bits (2018-04-16 13:36:52 -0300) >> > > >> > > ---------------------------------------------------------------- >> > > i386: Don't automatically enable FEAT_KVM_HINTS bits >> > > >> > > Bug fix for "-cpu host" with newer kernels. >> > > >> > > ---------------------------------------------------------------- >> > >> > Is this a regression since 2.11 ? >> >> Yes. > > For reference, it was introduced by: > > commit be7773268d98176489483a315d3e2323cb0615b9 > Author: Wanpeng Li <wanpengli@tencent.com> > Date: Fri Feb 9 06:15:25 2018 -0800 > > target-i386: add KVM_HINTS_DEDICATED performance hint > > Add KVM_HINTS_DEDICATED performance hint, guest checks this feature bit > to determine if they run on dedicated vCPUs, allowing optimizations such > as usage of qspinlocks. > > Sorry for not including a "Fixes:" tag in the commit message. If > you think it's worth it, I can redo the pull request with it. No, that's fine. I'm just checking that we're all on the same page about the level of fix that goes into a late-stage rc. Particularly as we get past rc2 or so, it's definitely helpful to me if pull request cover letters include justifications for why the changes should go in. thanks -- PMM ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits 2018-04-16 16:39 [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits Eduardo Habkost 2018-04-16 16:39 ` [Qemu-devel] [PULL 1/1] " Eduardo Habkost 2018-04-16 16:57 ` [Qemu-devel] [PULL 0/1] " Peter Maydell @ 2018-04-17 11:03 ` Peter Maydell 2 siblings, 0 replies; 7+ messages in thread From: Peter Maydell @ 2018-04-17 11:03 UTC (permalink / raw) To: Eduardo Habkost; +Cc: Paolo Bonzini, QEMU Developers, Richard Henderson On 16 April 2018 at 17:39, Eduardo Habkost <ehabkost@redhat.com> wrote: > Last remaining fix for -rc4. > > The following changes since commit 042f6a31af3d38eefc6ec995cce1d762c41d4515: > > Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2018-04-16' into staging (2018-04-16 15:30:54 +0100) > > are available in the Git repository at: > > git://github.com/ehabkost/qemu.git tags/x86-next-pull-request > > for you to fetch changes up to 0d914f39a77954bf5472b16130aeefe573a068f5: > > i386: Don't automatically enable FEAT_KVM_HINTS bits (2018-04-16 13:36:52 -0300) > > ---------------------------------------------------------------- > i386: Don't automatically enable FEAT_KVM_HINTS bits > > Bug fix for "-cpu host" with newer kernels. > > ---------------------------------------------------------------- > > Eduardo Habkost (1): > i386: Don't automatically enable FEAT_KVM_HINTS bits > Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-04-17 11:04 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-04-16 16:39 [Qemu-devel] [PULL 0/1] i386: Don't automatically enable FEAT_KVM_HINTS bits Eduardo Habkost 2018-04-16 16:39 ` [Qemu-devel] [PULL 1/1] " Eduardo Habkost 2018-04-16 16:57 ` [Qemu-devel] [PULL 0/1] " Peter Maydell 2018-04-16 17:42 ` Eduardo Habkost 2018-04-16 17:46 ` Eduardo Habkost 2018-04-16 17:49 ` Peter Maydell 2018-04-17 11:03 ` Peter Maydell
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).