[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] pc: Fix max_cpus
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH] pc: Fix max_cpus |
Date: |
Mon, 23 Jul 2012 12:52:31 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120601 Thunderbird/13.0 |
Am 23.07.2012 12:47, schrieb address@hidden:
> From: Dunrong Huang <address@hidden>
>
> The VCPU count limit in kernel now is 254, defined by KVM_MAX_VCPUS
> in kernel's header files. But the count limit in QEMU is 255,
> so QEMU will failed to start if user passes "-enable-kvm" and "-smp 255"
> to it.
>
> This patch intruduces a Macro MAX_VCPUS whose value is KVM_MAX_VCPUS
> if CONFIG_KVM is defined. If user do not use kvm, set it's value to 255.
>
> Signed-off-by: Dunrong Huang <address@hidden>
> ---
> hw/pc_piix.c | 28 +++++++++++++++++++---------
> 1 files changed, 19 insertions(+), 9 deletions(-)
>
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index 0c0096f..49cda51 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -49,6 +49,16 @@
>
> #define MAX_IDE_BUS 2
>
> +#ifndef KVM_MAX_VCPUS
> +#define KVM_MAX_VCPUS 254
> +#endif
> +
> +#ifdef CONFIG_KVM
> +#define MAX_VCPUS KVM_MAX_VCPUS
> +#else
> +#define MAX_VCPUS 255
> +#endif
> +
> static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 };
> static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 };
> static const int ide_irq[MAX_IDE_BUS] = { 14, 15 };
> @@ -354,7 +364,7 @@ static QEMUMachine pc_machine_v1_2 = {
> .alias = "pc",
> .desc = "Standard PC",
> .init = pc_init_pci,
> - .max_cpus = 255,
> + .max_cpus = MAX_VCPUS,
> .is_default = 1,
> };
>
[snip]
This is not so ideal: -enable-kvm is a runtime switch whereas you are
changing a compile-time limit here. Any chance to change the runtime
usage of .max_cpus instead? Possibly introducing a helper function?
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg