From: Zhao Liu <zhao1.liu@linux.intel.com>
To: "Michael S . Tsirkin" <mst@redhat.com>,
Igor Mammedov <imammedo@redhat.com>,
Ani Sinha <anisinha@redhat.com>,
Eduardo Habkost <eduardo@habkost.net>,
Yanan Wang <wangyanan55@huawei.com>
Cc: "Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
qemu-devel@nongnu.org, "Zhenyu Wang" <zhenyu.z.wang@intel.com>,
"Zhao Liu" <zhao1.liu@intel.com>
Subject: [PATCH v3 2/4] hw/smbios: Fix smbios_smp_sockets caculation
Date: Tue, 20 Jun 2023 18:39:56 +0800 [thread overview]
Message-ID: <20230620103958.3907565-3-zhao1.liu@linux.intel.com> (raw)
In-Reply-To: <20230620103958.3907565-1-zhao1.liu@linux.intel.com>
From: Zhao Liu <zhao1.liu@intel.com>
smp.sockets is the number of sockets which is configured by "-smp" (
otherwise, the default is 1). Trying to recalculate it here with another
rules leads to errors, such as:
1. 003f230e37d7 ("machine: Tweak the order of topology members in struct
CpuTopology") changes the meaning of smp.cores but doesn't fix
original smp.cores uses.
With the introduction of cluster, now smp.cores means the number of
cores in one cluster. So smp.cores * smp.threads just means the
threads in a cluster not in a socket.
2. On the other hand, we shouldn't use smp.cpus here because it
indicates the initial number of online CPUs at the boot time, and is
not mathematically related to smp.sockets.
So stop reinventing the another wheel and use the topo values that
has been calculated.
Fixes: 003f230e37d7 ("machine: Tweak the order of topology members in struct CpuTopology")
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
v3:
* Reorganized changlog. (Igor)
v2:
* None.
---
hw/smbios/smbios.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
index d2007e70fb05..d67415d44dd8 100644
--- a/hw/smbios/smbios.c
+++ b/hw/smbios/smbios.c
@@ -1088,8 +1088,7 @@ void smbios_get_tables(MachineState *ms,
smbios_build_type_2_table();
smbios_build_type_3_table();
- smbios_smp_sockets = DIV_ROUND_UP(ms->smp.cpus,
- ms->smp.cores * ms->smp.threads);
+ smbios_smp_sockets = ms->smp.sockets;
assert(smbios_smp_sockets >= 1);
for (i = 0; i < smbios_smp_sockets; i++) {
--
2.34.1
next prev parent reply other threads:[~2023-06-20 10:31 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-20 10:39 [PATCH v3 0/4] hw/smbios: Cleanup topology related variables Zhao Liu
2023-06-20 10:39 ` [PATCH v3 1/4] machine: Add helpers to get cores/threads per socket Zhao Liu
2023-06-26 13:43 ` Igor Mammedov
2023-06-28 2:20 ` Zhao Liu
2023-06-20 10:39 ` Zhao Liu [this message]
2023-06-20 10:39 ` [PATCH v3 3/4] hw/smbios: Fix thread count in type4 Zhao Liu
2023-06-26 13:44 ` Igor Mammedov
2023-06-28 2:13 ` Zhao Liu
2023-06-20 10:39 ` [PATCH v3 4/4] hw/smbios: Fix core " Zhao Liu
2023-06-26 13:48 ` [PATCH v3 0/4] hw/smbios: Cleanup topology related variables Igor Mammedov
2023-06-28 3:00 ` Zhao Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230620103958.3907565-3-zhao1.liu@linux.intel.com \
--to=zhao1.liu@linux.intel.com \
--cc=anisinha@redhat.com \
--cc=eduardo@habkost.net \
--cc=imammedo@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=wangyanan55@huawei.com \
--cc=zhao1.liu@intel.com \
--cc=zhenyu.z.wang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).