Message ID | 20210928035755.11684-11-wangyanan55@huawei.com |
---|---|
State | New |
Headers | show |
Series | machine: smp parsing fixes and improvement | expand |
On Tue, Sep 28, 2021 at 11:57:51AM +0800, Yanan Wang wrote: > Now that all the possible topology parameters are integrated in struct > CpuTopology, tweak the order of topology members to be "cpus/sockets/ > dies/cores/threads/maxcpus" for readability and consistency. We also > tweak the comment by adding explanation of dies parameter. > > Signed-off-by: Yanan Wang <wangyanan55@huawei.com> > Reviewed-by: Andrew Jones <drjones@redhat.com> > Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com> > --- > hw/core/machine.c | 8 ++++---- > include/hw/boards.h | 7 ++++--- > 2 files changed, 8 insertions(+), 7 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
On 9/28/21 05:57, Yanan Wang wrote: > Now that all the possible topology parameters are integrated in struct > CpuTopology, tweak the order of topology members to be "cpus/sockets/ > dies/cores/threads/maxcpus" for readability and consistency. We also > tweak the comment by adding explanation of dies parameter. > > Signed-off-by: Yanan Wang <wangyanan55@huawei.com> > Reviewed-by: Andrew Jones <drjones@redhat.com> > Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com> > --- > hw/core/machine.c | 8 ++++---- > include/hw/boards.h | 7 ++++--- > 2 files changed, 8 insertions(+), 7 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/hw/core/machine.c b/hw/core/machine.c index 1ad5dac3e8..a21fcd7700 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -829,11 +829,11 @@ static void machine_get_smp(Object *obj, Visitor *v, const char *name, { MachineState *ms = MACHINE(obj); SMPConfiguration *config = &(SMPConfiguration){ - .has_cores = true, .cores = ms->smp.cores, + .has_cpus = true, .cpus = ms->smp.cpus, .has_sockets = true, .sockets = ms->smp.sockets, .has_dies = true, .dies = ms->smp.dies, + .has_cores = true, .cores = ms->smp.cores, .has_threads = true, .threads = ms->smp.threads, - .has_cpus = true, .cpus = ms->smp.cpus, .has_maxcpus = true, .maxcpus = ms->smp.max_cpus, }; if (!visit_type_SMPConfiguration(v, name, &config, &error_abort)) { @@ -1060,10 +1060,10 @@ static void machine_initfn(Object *obj) /* default to mc->default_cpus */ ms->smp.cpus = mc->default_cpus; ms->smp.max_cpus = mc->default_cpus; - ms->smp.cores = 1; + ms->smp.sockets = 1; ms->smp.dies = 1; + ms->smp.cores = 1; ms->smp.threads = 1; - ms->smp.sockets = 1; } static void machine_finalize(Object *obj) diff --git a/include/hw/boards.h b/include/hw/boards.h index 2ae039b74f..2a1bba86c0 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -275,17 +275,18 @@ typedef struct DeviceMemoryState { /** * CpuTopology: * @cpus: the number of present logical processors on the machine - * @cores: the number of cores in one package - * @threads: the number of threads in one core * @sockets: the number of sockets on the machine + * @dies: the number of dies in one socket + * @cores: the number of cores in one die + * @threads: the number of threads in one core * @max_cpus: the maximum number of logical processors on the machine */ typedef struct CpuTopology { unsigned int cpus; + unsigned int sockets; unsigned int dies; unsigned int cores; unsigned int threads; - unsigned int sockets; unsigned int max_cpus; } CpuTopology;