qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@amd.com>
To: "avi@redhat.com" <avi@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: [Qemu-devel] Re: [PATCH] kvm/x86: enlarge number of possible CPUID leaves
Date: Wed, 8 Dec 2010 12:13:55 +0100	[thread overview]
Message-ID: <4CFF6873.8010101@amd.com> (raw)
In-Reply-To: <1291202264-3128-1-git-send-email-andre.przywara@amd.com>

Avi, Marcello,

can you please commit this simple fix? (turning 40 to 80?)
Without it QEMU crashes reliably on our new CPUs (they return 46 leaves) 
and causes pain in our testing, because we have to manually apply this 
patch on each tree.

Thanks!
Andre.

> Currently the number of CPUID leaves KVM handles is limited to 40.
> My desktop machine (AthlonII) already has 35 and future CPUs will
> expand this well beyond the limit. Extend the limit to 80 to make
> room for future processors.
> 
> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
> ---
>  arch/x86/include/asm/kvm_host.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> Hi,
> I found that either KVM or QEMU (possibly both) are broken in respect
> to handling more CPUID entries than the limit dictates. KVM will
> return -E2BIG, which is the same error as if the user hasn't provided
> enough space to hold all entries. Now QEMU will continue to enlarge
> the allocated memory until it gets into an out-of-memory condition.
> I have tried to fix this with teaching KVM how to deal with a capped
> number of entries (there are some bugs in the current code), but this
> will limit the number of CPUID entries KVM handles, which will surely
> cut of the lastly appended PV leaves.
> A proper fix would be to make this allocation dynamic. Is this a
> feasible way or will this lead to issues or side-effects?
> 
> Regards,
> Andre.
> 
> diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
> index 54e42c8..3cc80c4 100644
> --- a/arch/x86/include/asm/kvm_host.h
> +++ b/arch/x86/include/asm/kvm_host.h
> @@ -79,7 +79,7 @@
>  #define KVM_NUM_MMU_PAGES (1 << KVM_MMU_HASH_SHIFT)
>  #define KVM_MIN_FREE_MMU_PAGES 5
>  #define KVM_REFILL_PAGES 25
> -#define KVM_MAX_CPUID_ENTRIES 40
> +#define KVM_MAX_CPUID_ENTRIES 80
>  #define KVM_NR_FIXED_MTRR_REGION 88
>  #define KVM_NR_VAR_MTRR 8
>  

  parent reply	other threads:[~2010-12-08 11:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-01 11:17 [Qemu-devel] [PATCH] kvm/x86: enlarge number of possible CPUID leaves Andre Przywara
2010-12-01 12:24 ` [Qemu-devel] " Avi Kivity
2010-12-01 12:55   ` Andre Przywara
2010-12-08 12:14     ` Avi Kivity
2010-12-08 11:13 ` Andre Przywara [this message]
2010-12-08 12:11   ` Avi Kivity

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=4CFF6873.8010101@amd.com \
    --to=andre.przywara@amd.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --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 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).