Message ID | 20230213093625.158170-14-zhao1.liu@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Support smp.clusters for x86 | expand |
在 2023/2/13 17:36, Zhao Liu 写道: > From: Zhuocheng Ding <zhuocheng.ding@intel.com> > > As module-level topology support is added to X86CPU, now we can enable > the support for the cluster parameter on PC machines. With this support, > we can define a 5-level x86 CPU topology with "-smp": > > -smp cpus=*,maxcpus=*,sockets=*,dies=*,clusters=*,cores=*,threads=*. > > Additionally, add the 5-level topology example in description of "-smp". > > Signed-off-by: Zhuocheng Ding <zhuocheng.ding@intel.com> > Signed-off-by: Zhao Liu <zhao1.liu@intel.com> > --- > hw/i386/pc.c | 1 + > qemu-options.hx | 10 +++++----- > 2 files changed, 6 insertions(+), 5 deletions(-) Reviewed-by: Yanan Wang <wangyanan55@huawei.com> Thanks, Yanan > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 6e592bd969aa..c329df56ebd2 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -1929,6 +1929,7 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) > mc->default_cpu_type = TARGET_DEFAULT_CPU_TYPE; > mc->nvdimm_supported = true; > mc->smp_props.dies_supported = true; > + mc->smp_props.clusters_supported = true; > mc->default_ram_id = "pc.ram"; > > object_class_property_add(oc, PC_MACHINE_MAX_RAM_BELOW_4G, "size", > diff --git a/qemu-options.hx b/qemu-options.hx > index 88e93c610314..3caf9da4c3af 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -312,14 +312,14 @@ SRST > -smp 8,sockets=2,cores=2,threads=2,maxcpus=8 > > The following sub-option defines a CPU topology hierarchy (2 sockets > - totally on the machine, 2 dies per socket, 2 cores per die, 2 threads > - per core) for PC machines which support sockets/dies/cores/threads. > - Some members of the option can be omitted but their values will be > - automatically computed: > + totally on the machine, 2 dies per socket, 2 clusters per die, 2 cores per > + cluster, 2 threads per core) for PC machines which support sockets/dies > + /clusters/cores/threads. Some members of the option can be omitted but > + their values will be automatically computed: > > :: > > - -smp 16,sockets=2,dies=2,cores=2,threads=2,maxcpus=16 > + -smp 32,sockets=2,dies=2,clusters=2,cores=2,threads=2,maxcpus=32 > > The following sub-option defines a CPU topology hierarchy (2 sockets > totally on the machine, 2 clusters per socket, 2 cores per cluster,
diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 6e592bd969aa..c329df56ebd2 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1929,6 +1929,7 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) mc->default_cpu_type = TARGET_DEFAULT_CPU_TYPE; mc->nvdimm_supported = true; mc->smp_props.dies_supported = true; + mc->smp_props.clusters_supported = true; mc->default_ram_id = "pc.ram"; object_class_property_add(oc, PC_MACHINE_MAX_RAM_BELOW_4G, "size", diff --git a/qemu-options.hx b/qemu-options.hx index 88e93c610314..3caf9da4c3af 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -312,14 +312,14 @@ SRST -smp 8,sockets=2,cores=2,threads=2,maxcpus=8 The following sub-option defines a CPU topology hierarchy (2 sockets - totally on the machine, 2 dies per socket, 2 cores per die, 2 threads - per core) for PC machines which support sockets/dies/cores/threads. - Some members of the option can be omitted but their values will be - automatically computed: + totally on the machine, 2 dies per socket, 2 clusters per die, 2 cores per + cluster, 2 threads per core) for PC machines which support sockets/dies + /clusters/cores/threads. Some members of the option can be omitted but + their values will be automatically computed: :: - -smp 16,sockets=2,dies=2,cores=2,threads=2,maxcpus=16 + -smp 32,sockets=2,dies=2,clusters=2,cores=2,threads=2,maxcpus=32 The following sub-option defines a CPU topology hierarchy (2 sockets totally on the machine, 2 clusters per socket, 2 cores per cluster,