[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stable-7.2.6 01/37] machine: Add helpers to get cores/threads per socke
From: |
Michael Tokarev |
Subject: |
[Stable-7.2.6 01/37] machine: Add helpers to get cores/threads per socket |
Date: |
Sat, 9 Sep 2023 16:04:31 +0300 |
From: Zhao Liu <zhao1.liu@intel.com>
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 a1d027be95bc375238e5b9292c6aa661a8ddef4c)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
diff --git a/hw/core/machine-smp.c b/hw/core/machine-smp.c
index b39ed21e65..903834c0db 100644
--- a/hw/core/machine-smp.c
+++ b/hw/core/machine-smp.c
@@ -193,3 +193,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);
+}
diff --git a/include/hw/boards.h b/include/hw/boards.h
index 90f1dd3aeb..ca2f0d3592 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -36,6 +36,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
--
2.39.2
- [Stable-7.2.6 00/37] Patch Round-up for stable 7.2.6, freeze on 2023-09-19, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 01/37] machine: Add helpers to get cores/threads per socket,
Michael Tokarev <=
- [Stable-7.2.6 02/37] hw/smbios: Fix smbios_smp_sockets caculation, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 03/37] hw/smbios: Fix thread count in type4, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 04/37] hw/smbios: Fix core count in type4, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 05/37] dump: kdump-zlib data pages not dumped with pvtime/aarch64, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 06/37] hw/nvme: fix CRC64 for guard tag, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 07/37] linux-user/elfload: Set V in ELF_HWCAP for RISC-V, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 08/37] include/exec/user: Set ABI_LLONG_ALIGNMENT to 4 for microblaze, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 09/37] include/exec/user: Set ABI_LLONG_ALIGNMENT to 4 for nios2, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 10/37] Fixed incorrect LLONG alignment for openrisc and cris, Michael Tokarev, 2023/09/09
- [Stable-7.2.6 11/37] target/s390x: Fix the "ignored match" case in VSTRS, Michael Tokarev, 2023/09/09