qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/3] target-i386: Enable x2apic by default on KV


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH 3/3] target-i386: Enable x2apic by default on KVM
Date: Wed, 12 Mar 2014 15:36:02 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

Am 19.02.2014 15:58, schrieb Eduardo Habkost:
> When on KVM mode, enable x2apic by default on all CPU models.
> 
> Normally we try to keep the CPU model definitions as close as the real
> CPUs as possible, but x2apic can be emulated by KVM without host CPU
> support for x2apic, and it improves performance by reducing APIC access
> overhead. x2apic emulation is available on KVM since 2009 (Linux
> 2.6.32-rc1), there's no reason for not enabling x2apic by default when
> running KVM.
> 
> Signed-off-by: Eduardo Habkost <address@hidden>
> ---
>  hw/i386/pc_piix.c | 1 +
>  hw/i386/pc_q35.c  | 2 ++
>  target-i386/cpu.c | 1 +
>  3 files changed, 4 insertions(+)
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index dab0c78..cf12873 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -260,6 +260,7 @@ static void pc_compat_1_7(QEMUMachineInitArgs *args)
>  {
>      smbios_type1_defaults = false;
>      gigabyte_align = false;
> +    x86_cpu_compat_disable_kvm_features(FEAT_1_ECX, CPUID_EXT_X2APIC);
>  }
>  
>  static void pc_compat_1_6(QEMUMachineInitArgs *args)
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index a7f6260..71b05f1 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -244,6 +244,8 @@ static void pc_compat_1_7(QEMUMachineInitArgs *args)
>  {
>      smbios_type1_defaults = false;
>      gigabyte_align = false;
> +    x86_cpu_compat_disable_kvm_features(FEAT_1_ECX, CPUID_EXT_X2APIC);
> +
>  }
>  
>  static void pc_compat_1_6(QEMUMachineInitArgs *args)
[snip]

Needed rebase:

diff --cc hw/i386/pc_piix.c
index 5011c3a,ebd442e..0000000
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@@ -266,7 -266,7 +266,8 @@@ static void pc_compat_1_7(QEMUMachineIn
  {
      smbios_type1_defaults = false;
      gigabyte_align = false;
 +    option_rom_has_mr = true;
+     x86_cpu_compat_disable_kvm_features(FEAT_1_ECX, CPUID_EXT_X2APIC);
  }

  static void pc_compat_1_6(QEMUMachineInitArgs *args)
diff --cc hw/i386/pc_q35.c
index 4b0456a,71b05f1..0000000
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@@ -244,7 -244,8 +244,8 @@@ static void pc_compat_1_7(QEMUMachineIn
  {
      smbios_type1_defaults = false;
      gigabyte_align = false;
 +    option_rom_has_mr = true;
+     x86_cpu_compat_disable_kvm_features(FEAT_1_ECX, CPUID_EXT_X2APIC);
 -
  }

  static void pc_compat_1_6(QEMUMachineInitArgs *args)

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]