Skip to content

Commit

Permalink
machine: Add helpers to get cores/threads per socket
Browse files Browse the repository at this point in the history
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>
(cherry picked from commit a1d027b)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
  • Loading branch information
trueptolemy authored and Michael Tokarev committed Sep 10, 2023
1 parent e7f12ce commit cfff72b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
10 changes: 10 additions & 0 deletions hw/core/machine-smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
2 changes: 2 additions & 0 deletions include/hw/boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit cfff72b

Please sign in to comment.