All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1] spapr.c: Update qemu's maxcpus for pseries machine.
@ 2017-12-01 11:24 Seeteena Thoufeek
  2017-12-01 12:37 ` David Gibson
  2017-12-01 17:20 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
  0 siblings, 2 replies; 4+ messages in thread
From: Seeteena Thoufeek @ 2017-12-01 11:24 UTC (permalink / raw)
  To: david, agraf, qemu-ppc, qemu-devel; +Cc: s1seetee

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)

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.
Hence,we need to adjust it to an reasonable value 240.

Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
---
 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;                                      \
         }                                                            \
     }                                                                \
     static void spapr_machine_##suffix##_instance_init(Object *obj)  \
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH v1] spapr.c: Update qemu's maxcpus for pseries machine.
  2017-12-01 11:24 [Qemu-devel] [PATCH v1] spapr.c: Update qemu's maxcpus for pseries machine Seeteena Thoufeek
@ 2017-12-01 12:37 ` David Gibson
  2017-12-04  6:33   ` seeteena
  2017-12-01 17:20 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
  1 sibling, 1 reply; 4+ messages in thread
From: David Gibson @ 2017-12-01 12:37 UTC (permalink / raw)
  To: Seeteena Thoufeek; +Cc: agraf, qemu-ppc, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 2335 bytes --]

On Fri, Dec 01, 2017 at 04:54:09PM +0530, Seeteena Thoufeek 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)
> 
> 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.
> Hence,we need to adjust it to an reasonable value 240.
> 
> Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>

This has been written without adequate thought and investigation.

First, in upstream code there's nothing wrong with having different
limits in qemu and kernel - the can both vary depending on various
factors.  Secondly, the 240 limit doesn't come from the kernel
upstream - only in RHEL.

Third, it doesn't even come from the kernel in RHEL - the downstream
qemu lies about the kernel limit.

I'm in the process of fixing this correctly, I expect to have
something on Monday.

> ---
>  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;                                      \
>          }                                                            \
>      }                                                                \
>      static void spapr_machine_##suffix##_instance_init(Object *obj)  \

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [Qemu-ppc] [PATCH v1] spapr.c: Update qemu's maxcpus for pseries machine.
  2017-12-01 11:24 [Qemu-devel] [PATCH v1] spapr.c: Update qemu's maxcpus for pseries machine Seeteena Thoufeek
  2017-12-01 12:37 ` David Gibson
@ 2017-12-01 17:20 ` Greg Kurz
  1 sibling, 0 replies; 4+ messages in thread
From: Greg Kurz @ 2017-12-01 17:20 UTC (permalink / raw)
  To: Seeteena Thoufeek; +Cc: david, agraf, qemu-ppc, qemu-devel

On Fri,  1 Dec 2017 16:54:09 +0530
Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com> 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 <s1seetee@linux.vnet.ibm.com>
> ---
>  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)  \

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH v1] spapr.c: Update qemu's maxcpus for pseries machine.
  2017-12-01 12:37 ` David Gibson
@ 2017-12-04  6:33   ` seeteena
  0 siblings, 0 replies; 4+ messages in thread
From: seeteena @ 2017-12-04  6:33 UTC (permalink / raw)
  To: David Gibson; +Cc: agraf, qemu-ppc, qemu-devel

Thanks David for the explanation.

I thought the changes been into upstream code for pseries to limit

maxcpus to 240 instead of 1024.



On 12/01/2017 06:07 PM, David Gibson wrote:
> On Fri, Dec 01, 2017 at 04:54:09PM +0530, Seeteena Thoufeek 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)
>>
>> 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.
>> Hence,we need to adjust it to an reasonable value 240.
>>
>> Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
> This has been written without adequate thought and investigation.
>
> First, in upstream code there's nothing wrong with having different
> limits in qemu and kernel - the can both vary depending on various
> factors.  Secondly, the 240 limit doesn't come from the kernel
> upstream - only in RHEL.
>
> Third, it doesn't even come from the kernel in RHEL - the downstream
> qemu lies about the kernel limit.
>
> I'm in the process of fixing this correctly, I expect to have
> something on Monday.
>
>> ---
>>   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;                                      \
>>           }                                                            \
>>       }                                                                \
>>       static void spapr_machine_##suffix##_instance_init(Object *obj)  \

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-12-04  6:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-01 11:24 [Qemu-devel] [PATCH v1] spapr.c: Update qemu's maxcpus for pseries machine Seeteena Thoufeek
2017-12-01 12:37 ` David Gibson
2017-12-04  6:33   ` seeteena
2017-12-01 17:20 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.