qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Qemu-ppc] [PATCH v1] spapr.c: Update qemu's maxcpus fo


From: Greg Kurz
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH v1] spapr.c: Update qemu's maxcpus for pseries machine.
Date: Fri, 1 Dec 2017 18:20:14 +0100

On Fri,  1 Dec 2017 16:54:09 +0530
Seeteena Thoufeek <address@hidden> wrote:

> Need to adjust the max cpus supported number from error message since
> it was conflicting with KVM's.
> 
> Steps to Reproduce:
> 1.boot up with
> "-smp 64,maxcpus=102464,cores=8,threads=1,sockets=8"
> 
> qemu-kvm: Number of SMP CPUs requested (102464) exceeds max CPUs
> supported by machine 'pseries-rhel7.4.0alt' (1024)
> 

The above error message was dumped by commit c0dd10991903 (authored by
you apparently). Now it should be:

Invalid SMP CPUs 102464. The max CPUs supported by
 machine 'pseries-rhel7.4.0alt' is 1024

> 2. On KVM machine it shows
> 
> boot up with
> "-m 6G,maxmem=300G,slots=256 -smp 64,maxcpus=1024,cores=8,threads=1
> ,sockets=128"
> 
> Number of hotpluggable cpus requested (1024) exceeds the maximum cpus
>  supported by KVM (240)
> 
> It seemed that 1024 was useless since KVM only support 240 so far.

This is the limit imposed by KVM, which is basically the number of
CPUs on the host system. On some bigger systems, it can be up to
1536 AFAIK.

The machine limit is a different beast and someone could legitimately
run a fully emulated guest (TCG) with 1024 CPUs.

Hence it really doesn't make sense to hardcode the KVM value from your
system into QEMU.

> Hence,we need to adjust it to an reasonable value 240.
> 
> Signed-off-by: Seeteena Thoufeek <address@hidden>
> ---
>  hw/ppc/spapr.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 9efddea..c753254 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -3691,6 +3691,7 @@ static const TypeInfo spapr_machine_info = {
>          if (latest) {                                                \
>              mc->alias = "pseries";                                   \
>              mc->is_default = 1;                                      \
> +            mc->max_cpus = 240;                                      \

BTW, this isn't the right place: the limit is set in spapr_machine_class_init()

>          }                                                            \
>      }                                                                \
>      static void spapr_machine_##suffix##_instance_init(Object *obj)  \




reply via email to

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