qemu-arm
[Top][All Lists]
Advanced

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

Re: [Qemu-arm] [PATCH v2] sysemu: support up to 1024 vCPUs


From: Peter Maydell
Subject: Re: [Qemu-arm] [PATCH v2] sysemu: support up to 1024 vCPUs
Date: Wed, 18 May 2016 16:31:31 +0100

On 18 May 2016 at 14:52, Greg Kurz <address@hidden> wrote:
> Some PowerPC systems can already provide more than 255 hardware threads.
> Igor also posted a patch recently, to increase the the maxcpus limit to
> 288 for x86 targets.
>
> This patch bumps the limit to 1024:
> - 1024 is already the limit for PowerPC KVM in several distros
> - it has no visible overhead in top
> - the limit itself has no effect on hot paths
>
> We only do that for pseries at the moment and keep a 255 limit for the
> ARM Virtual Machine.
>
> Signed-off-by: Greg Kurz <address@hidden>
> ---
> v2: - updated changelog
>     - keep 255 limit in hw/arm/virt.c
> ---
>  hw/arm/virt.c           |    2 +-
>  include/sysemu/sysemu.h |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 56d35c7716e7..438e09c7a57d 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -1358,7 +1358,7 @@ static void virt_machine_class_init(ObjectClass *oc, 
> void *data)
>       * it later in machvirt_init, where we have more information about the
>       * configuration of the particular instance.
>       */
> -    mc->max_cpus = MAX_CPUMASK_BITS;
> +    mc->max_cpus = 255;

This change makes the code disagree with the comment immediately
above it. As the comment says, we set max_cpus to the maximum
QEMU supports, and then dynamically check it later when we know
whether we have a GICv2 or GICv3 (which is what puts the limit
on number of CPUs for this board). So I think the change is
not needed.

>      mc->has_dynamic_sysbus = true;
>      mc->block_default_type = IF_VIRTIO;
>      mc->no_cdrom = 1;
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index 38fb3cad35e1..89d742caa477 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -185,7 +185,7 @@ extern int mem_prealloc;
>   *
>   * Note that cpu->get_arch_id() may be larger than MAX_CPUMASK_BITS.
>   */
> -#define MAX_CPUMASK_BITS 255
> +#define MAX_CPUMASK_BITS 1024
>
>  #define MAX_OPTION_ROMS 16
>  typedef struct QEMUOptionRom {

thanks
-- PMM



reply via email to

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