machine: Add helpers to get cores/threads per socket
The number of cores/threads per socket are needed for smbios, and are also useful for other modules. Provide the helpers to wrap the calculation of cores/threads per socket so that we can avoid calculation errors caused by other modules miss topology changes. Suggested-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Zhao Liu <zhao1.liu@intel.com> Message-Id: <20230628135437.1145805-2-zhao1.liu@linux.intel.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
b6f53ae005
commit
a1d027be95
@ -197,3 +197,13 @@ void machine_parse_smp_config(MachineState *ms,
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
unsigned int machine_topo_get_cores_per_socket(const MachineState *ms)
|
||||
{
|
||||
return ms->smp.cores * ms->smp.clusters * ms->smp.dies;
|
||||
}
|
||||
|
||||
unsigned int machine_topo_get_threads_per_socket(const MachineState *ms)
|
||||
{
|
||||
return ms->smp.threads * machine_topo_get_cores_per_socket(ms);
|
||||
}
|
||||
|
@ -35,6 +35,8 @@ void machine_set_cpu_numa_node(MachineState *machine,
|
||||
Error **errp);
|
||||
void machine_parse_smp_config(MachineState *ms,
|
||||
const SMPConfiguration *config, Error **errp);
|
||||
unsigned int machine_topo_get_cores_per_socket(const MachineState *ms);
|
||||
unsigned int machine_topo_get_threads_per_socket(const MachineState *ms);
|
||||
|
||||
/**
|
||||
* machine_class_allow_dynamic_sysbus_dev: Add type to list of valid devices
|
||||
|
Loading…
Reference in New Issue
Block a user