qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v5 0/4] hw/arm/virt: Fix CPU's default NUMA node ID


From: Gavin Shan
Subject: Re: [PATCH v5 0/4] hw/arm/virt: Fix CPU's default NUMA node ID
Date: Mon, 11 Apr 2022 14:48:16 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.0

Hi Igor and Yanan,

On 4/3/22 10:59 PM, Gavin Shan wrote:
When the CPU-to-NUMA association isn't provided by user, the default NUMA
node ID for the specific CPU is returned from virt_get_default_cpu_node_id().
Unfortunately, the default NUMA node ID breaks socket boundary and leads to
the broken CPU topology warning message in Linux guest. This series intends
to fix the issue.

   PATCH[1/4] Add cluster-id to CPU instance property
   PATCH[2/4] Uses SMP configuration to populate CPU topology
   PATCH[3/4] Fixes the broken CPU topology by considering the socket boundary
              when the default NUMA node ID is given
   PATCH[4/4] Uses the populated CPU topology to build PPTT table, instead of
              calculate it again


Please let me know if you have more comments for this series, thanks
in advance.

Thanks,
Gavin

Changelog
=========
v4/v5:
    * Split PATCH[v3 1/3] to PATCH[v5 1/4] and PATCH[v5 2/4].
      Verify or dump 'clsuter-id' in various spots               (Yanan)
    * s/within cluster/within cluster\/die/ for 'core-id' in
      qapi/machine.json                                          (Igor)
    * Apply '% ms->smp.{sockets, clusters, cores, threads} in
      virt_possible_cpu_arch_ids() as x86 does                   (Igor)
    * Use [0 - possible_cpus->len] as ACPI processor UID to
      build PPTT table and PATCH[v3 4/4] is dropped              (Igor)
    * Simplified build_pptt() to add all entries in one loop
      on ms->possible_cpus                                       (Igor)
v3:
    * Split PATCH[v2 1/3] to PATCH[v3 1/4] and PATCH[v3 2/4]     (Yanan)
    * Don't take account of die ID in CPU topology population
      and added assert(!mc->smp_props.dies_supported)            (Yanan/Igor)
    * Assign cluster_id and use it when building PPTT table      (Yanan/Igor)
v2:
    * Populate the CPU topology in virt_possible_cpu_arch_ids()
      so that it can be reused in virt_get_default_cpu_node_id() (Igor)
    * Added PATCH[2/3] to use the existing CPU topology when the
      PPTT table is built                                        (Igor)
    * Added PATCH[3/3] to take thread ID as ACPI processor ID
      in MADT and SRAT table                                     (Gavin)

Gavin Shan (4):
   qapi/machine.json: Add cluster-id
   hw/arm/virt: Consider SMP configuration in CPU topology
   hw/arm/virt: Fix CPU's default NUMA node ID
   hw/acpi/aml-build: Use existing CPU topology to build PPTT table

  hw/acpi/aml-build.c        | 100 ++++++++++++++-----------------------
  hw/arm/virt.c              |  20 +++++++-
  hw/core/machine-hmp-cmds.c |   4 ++
  hw/core/machine.c          |  16 ++++++
  qapi/machine.json          |   6 ++-
  5 files changed, 80 insertions(+), 66 deletions(-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]