All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Alireza Sanaee <alireza.sanaee@huawei.com>
Cc: qemu-devel@nongnu.org, anisinha@redhat.com, imammedo@redhat.com,
	jonathan.cameron@huawei.com, linuxarm@huawei.com,
	peter.maydell@linaro.org, prime.zeng@hisilicon.com,
	shameerali.kolothum.thodi@huawei.com, wangyanan55@huawei.com,
	yangyicong@hisilicon.com
Subject: Re: [PATCH v3 3/5] hw/acpi/aml-build: Build a root node in the PPTT table
Date: Wed, 23 Apr 2025 08:41:12 -0400	[thread overview]
Message-ID: <20250423084013-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20250423114130.902-4-alireza.sanaee@huawei.com>

On Wed, Apr 23, 2025 at 12:41:28PM +0100, Alireza Sanaee wrote:
> From: Yicong Yang <yangyicong@hisilicon.com>
> 
> Currently we build the PPTT starting from the socket node and each
> socket will be a separate tree. For a multi-socket system it'll
> be hard for the OS to know the whole system is homogeneous or not
> (actually we're in the current implementation) since no parent node
> to telling the identical implementation informentation. Add a
> root node for indicating this.
> 
> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Signed-off-by: Alireza Sanaee <alireza.sanaee@huawei.com>

so how does the topology look before and after this change?


> ---
>  hw/acpi/aml-build.c | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
> index 560cee12a24b..3010325ca423 100644
> --- a/hw/acpi/aml-build.c
> +++ b/hw/acpi/aml-build.c
> @@ -2153,12 +2153,25 @@ void build_pptt(GArray *table_data, BIOSLinker *linker, MachineState *ms,
>      int64_t socket_id = -1, cluster_id = -1, core_id = -1;
>      uint32_t socket_offset = 0, cluster_offset = 0, core_offset = 0;
>      uint32_t pptt_start = table_data->len;
> +    uint32_t root_offset;
>      int n;
>      AcpiTable table = { .sig = "PPTT", .rev = 2,
>                          .oem_id = oem_id, .oem_table_id = oem_table_id };
>  
>      acpi_table_begin(&table, table_data);
>  
> +    /*
> +     * Build a root node for all the processor nodes. Otherwise when
> +     * building a multi-socket system each socket tree are separated

is separated?

> +     * and will be hard for the OS like Linux to know whether the
> +     * system is homogeneous.
> +     */
> +    root_offset = table_data->len - pptt_start;
> +    build_processor_hierarchy_node(table_data,
> +        (1 << 0) | /* Physical package */
> +        (1 << 4), /* Identical Implementation */
> +        0, 0, NULL, 0);
> +
>      /*
>       * This works with the assumption that cpus[n].props.*_id has been
>       * sorted from top to down levels in mc->possible_cpu_arch_ids().
> @@ -2175,7 +2188,7 @@ void build_pptt(GArray *table_data, BIOSLinker *linker, MachineState *ms,
>              build_processor_hierarchy_node(table_data,
>                  (1 << 0) | /* Physical package */
>                  (1 << 4), /* Identical Implementation */
> -                0, socket_id, NULL, 0);
> +                root_offset, socket_id, NULL, 0);
>          }
>  
>          if (mc->smp_props.clusters_supported && mc->smp_props.has_clusters) {
> -- 
> 2.34.1



  reply	other threads:[~2025-04-23 12:41 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-23 11:41 [PATCH v3 0/5] Building PPTT with root node and identical implementation flag Alireza Sanaee via
2025-04-23 11:41 ` [PATCH v3 1/5] tests: virt: Allow changes to PPTT test table Alireza Sanaee via
2025-04-23 11:41 ` [PATCH v3 2/5] hw/acpi/aml-build: Set identical implementation flag for PPTT processor nodes Alireza Sanaee via
2025-04-23 11:41 ` [PATCH v3 3/5] hw/acpi/aml-build: Build a root node in the PPTT table Alireza Sanaee via
2025-04-23 12:41   ` Michael S. Tsirkin [this message]
2025-04-23 13:51     ` Yicong Yang via
2025-04-23 11:41 ` [PATCH v3 4/5] hw/acpi/aml-build: Update the revision of " Alireza Sanaee via
2025-04-23 12:39   ` Michael S. Tsirkin
2025-04-23 14:15     ` Yicong Yang via
2025-04-23 15:35       ` Michael S. Tsirkin
2025-04-23 15:47         ` Jonathan Cameron via
2025-04-23 15:51           ` Michael S. Tsirkin
2025-04-28 11:20             ` Alireza Sanaee via
2025-04-23 11:41 ` [PATCH v3 5/5] tests: virt: Update expected ACPI tables for virt test Alireza Sanaee via

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=20250423084013-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alireza.sanaee@huawei.com \
    --cc=anisinha@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=linuxarm@huawei.com \
    --cc=peter.maydell@linaro.org \
    --cc=prime.zeng@hisilicon.com \
    --cc=qemu-devel@nongnu.org \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=wangyanan55@huawei.com \
    --cc=yangyicong@hisilicon.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.