diff mbox

x86: Increase max vcpu number to 352

Message ID 1502337500-5718-1-git-send-email-tianyu.lan@intel.com
State New
Headers show

Commit Message

Lan Tianyu Aug. 10, 2017, 3:58 a.m. UTC
Intel Xeon phi chip will support 352 logical threads. For HPC
usage case, it will create a huge VM with vcpus number as same as host
cpus. This patch is to increase max vcpu number to 352.

Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
---
 hw/i386/pc_q35.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Konrad Rzeszutek Wilk Aug. 10, 2017, 6:08 p.m. UTC | #1
On Wed, Aug 09, 2017 at 11:58:20PM -0400, Lan Tianyu wrote:
> Intel Xeon phi chip will support 352 logical threads. For HPC
> usage case, it will create a huge VM with vcpus number as same as host
> cpus. This patch is to increase max vcpu number to 352.

There is this ioctl called KVM_CAP_MAX_VCPUS. Why not use that?

Oh wait, this is generic code. Perhaps there is a way to make
this more abstract? Where this information is provided via
an function to which various accelerators register?

> 
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
> ---
>  hw/i386/pc_q35.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 169a214..5e93749 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -299,7 +299,7 @@ static void pc_q35_machine_options(MachineClass *m)
>      m->default_display = "std";
>      m->no_floppy = 1;
>      m->has_dynamic_sysbus = true;
> -    m->max_cpus = 288;
> +    m->max_cpus = 352;
>  }
>  
>  static void pc_q35_2_10_machine_options(MachineClass *m)
> -- 
> 1.8.3.1
> 
>
Eduardo Habkost Aug. 11, 2017, 11:51 a.m. UTC | #2
On Thu, Aug 10, 2017 at 02:08:38PM -0400, Konrad Rzeszutek Wilk wrote:
> On Wed, Aug 09, 2017 at 11:58:20PM -0400, Lan Tianyu wrote:
> > Intel Xeon phi chip will support 352 logical threads. For HPC
> > usage case, it will create a huge VM with vcpus number as same as host
> > cpus. This patch is to increase max vcpu number to 352.
> 
> There is this ioctl called KVM_CAP_MAX_VCPUS. Why not use that?
> 
> Oh wait, this is generic code. Perhaps there is a way to make
> this more abstract? Where this information is provided via
> an function to which various accelerators register?

We already check KVM_CAP_MAX_VCPUS, see kvm-all.c:kvm_init().
MachineClass::max_cpus is a limit defined at compile time, based
on the limitations of the existing QEMU machine/device code.
diff mbox

Patch

diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 169a214..5e93749 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -299,7 +299,7 @@  static void pc_q35_machine_options(MachineClass *m)
     m->default_display = "std";
     m->no_floppy = 1;
     m->has_dynamic_sysbus = true;
-    m->max_cpus = 288;
+    m->max_cpus = 352;
 }
 
 static void pc_q35_2_10_machine_options(MachineClass *m)