[PATCH v4 0/4] hw/smbios: Cleanup topology related variables

Zhao Liu posted 4 patches 10 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230628135437.1145805-1-zhao1.liu@linux.intel.com
Maintainers: Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Yanan Wang <wangyanan55@huawei.com>, "Michael S. Tsirkin" <mst@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <anisinha@redhat.com>
hw/core/machine-smp.c | 10 ++++++++++
hw/smbios/smbios.c    | 16 ++++++++++------
include/hw/boards.h   |  2 ++
3 files changed, 22 insertions(+), 6 deletions(-)
[PATCH v4 0/4] hw/smbios: Cleanup topology related variables
Posted by Zhao Liu 10 months, 1 week ago
From: Zhao Liu <zhao1.liu@intel.com>

Hi all,

This is my v4 patch series based on b111569da9f8 ("Merge tag 'ui-pull-
request' of https://gitlab.com/marcandre.lureau/qemu into staging").

This v4 is a quick refresh to address Igor's comment in v3 [1] about the
location of the new two helpers.

About the 2 newly added helpers, they can also be used in i386 code [2].
I will follow up to do the cleanup after another i386 cluster support
patch series.


Introduction
============

This patchset is split from my previous hybrid topology RFC [3].

This patchset adds 2 new helpers to wrap the threads/cores per sockets
calculation to avoid errors caused by other modules miss topology
changes.

Additionally, there are three places for topology-related cleanup in
smbios:

1. Fix the calculation of the number of sockets.

   Due to the misuse of the smp.cpus variable and the change in the
   meaning of smp.cores, the calculation of socket number in smbios is
   incorrect. This can be fixed by using smp.sockets directly.

2. Fix core count in type4.

   The meaning of smp.cores changed so that the calculation of cores
   per socket became wrong.

   v3 introduces the helper "machine_topo_get_cores_per_socket()" to
   wrap the calculation of cores per socket. This can help other modules
   avoid calculation error caused by missing topology changes.

3. Fix thread count in type4.

   I also found that the definition of thread count in type4 doesn't
   match the spec (smbios 3.0.0) and cleaned it up as well.

   Similar to core count, also use a new helper to fix this.

[1]: https://lists.gnu.org/archive/html/qemu-devel/2023-06/msg05402.html
[2]: https://lists.gnu.org/archive/html/qemu-devel/2023-06/msg06071.html
[3]: https://mail.gnu.org/archive/html/qemu-devel/2023-02/msg03205.html


Regards,
Zhao
---
Zhao Liu (4):
  machine: Add helpers to get cores/threads per socket
  hw/smbios: Fix smbios_smp_sockets caculation
  hw/smbios: Fix thread count in type4
  hw/smbios: Fix core count in type4

 hw/core/machine-smp.c | 10 ++++++++++
 hw/smbios/smbios.c    | 16 ++++++++++------
 include/hw/boards.h   |  2 ++
 3 files changed, 22 insertions(+), 6 deletions(-)

-- 
2.34.1
Re: [PATCH v4 0/4] hw/smbios: Cleanup topology related variables
Posted by Igor Mammedov 9 months, 3 weeks ago
On Wed, 28 Jun 2023 21:54:33 +0800
Zhao Liu <zhao1.liu@linux.intel.com> wrote:

> From: Zhao Liu <zhao1.liu@intel.com>
> 
> Hi all,
> 
> This is my v4 patch series based on b111569da9f8 ("Merge tag 'ui-pull-
> request' of https://gitlab.com/marcandre.lureau/qemu into staging").
> 
> This v4 is a quick refresh to address Igor's comment in v3 [1] about the
> location of the new two helpers.
> 
> About the 2 newly added helpers, they can also be used in i386 code [2].
> I will follow up to do the cleanup after another i386 cluster support
> patch series.
> 
> 
> Introduction
> ============
> 
> This patchset is split from my previous hybrid topology RFC [3].
> 
> This patchset adds 2 new helpers to wrap the threads/cores per sockets
> calculation to avoid errors caused by other modules miss topology
> changes.
> 
> Additionally, there are three places for topology-related cleanup in
> smbios:
> 
> 1. Fix the calculation of the number of sockets.
> 
>    Due to the misuse of the smp.cpus variable and the change in the
>    meaning of smp.cores, the calculation of socket number in smbios is
>    incorrect. This can be fixed by using smp.sockets directly.
> 
> 2. Fix core count in type4.
> 
>    The meaning of smp.cores changed so that the calculation of cores
>    per socket became wrong.
> 
>    v3 introduces the helper "machine_topo_get_cores_per_socket()" to
>    wrap the calculation of cores per socket. This can help other modules
>    avoid calculation error caused by missing topology changes.
> 
> 3. Fix thread count in type4.
> 
>    I also found that the definition of thread count in type4 doesn't
>    match the spec (smbios 3.0.0) and cleaned it up as well.
> 
>    Similar to core count, also use a new helper to fix this.
> 
> [1]: https://lists.gnu.org/archive/html/qemu-devel/2023-06/msg05402.html
> [2]: https://lists.gnu.org/archive/html/qemu-devel/2023-06/msg06071.html
> [3]: https://mail.gnu.org/archive/html/qemu-devel/2023-02/msg03205.html
>

For series:

Acked-by: Igor Mammedov <imammedo@redhat.com>

> 
> Regards,
> Zhao
> ---
> Zhao Liu (4):
>   machine: Add helpers to get cores/threads per socket
>   hw/smbios: Fix smbios_smp_sockets caculation
>   hw/smbios: Fix thread count in type4
>   hw/smbios: Fix core count in type4
> 
>  hw/core/machine-smp.c | 10 ++++++++++
>  hw/smbios/smbios.c    | 16 ++++++++++------
>  include/hw/boards.h   |  2 ++
>  3 files changed, 22 insertions(+), 6 deletions(-)
>