From: Gavin Shan <gshan@redhat.com>
To: qemu-arm@nongnu.org, qemu-devel@nongnu.org
Cc: mst@redhat.com, imammedo@redhat.com, ani@anisinha.ca,
drjones@redhat.com, wangyanan55@huawei.com,
Jonathan.Cameron@Huawei.com, peter.maydell@linaro.org,
berrange@redhat.com, thuth@redhat.com, eduardo@habkost.net,
lvivier@redhat.com, zhenyzha@redhat.com, shan.gavin@gmail.com
Subject: [PATCH 0/3] hw/acpi/aml-build: Fix {socket, cluster, core} IDs in PPTT
Date: Wed, 18 May 2022 17:21:38 +0800 [thread overview]
Message-ID: <20220518092141.1050852-1-gshan@redhat.com> (raw)
The {socket, cluster, core} IDs detected from Linux guest aren't
matching with what have been provided in PPTT. The flag used for
'ACPI Processor ID valid' is missed for {socket, cluster, core}
nodes. In this case, Linux guest takes the offset between the
node and PPTT header as the corresponding IDs, as the following
logs show.
/home/gavin/sandbox/qemu.main/build/qemu-system-aarch64 \
-accel kvm -machine virt,gic-version=host -cpu host \
-smp 8,sockets=2,clusters=2,cores=2,threads=1
:
# cd /sys/devices/system/cpu
# for i in `seq 0 15`; do cat cpu$i/topology/physical_package_id; done
36 36 36 36 36 36 36 36
336 336 336 336 336 336 336 336
# for i in `seq 0 15`; do cat cpu$i/topology/cluster_id; done
56 56 56 56 196 196 196 196
356 356 356 356 496 496 496 496
# for i in `seq 0 15`; do cat cpu$i/topology/core_id; done
76 76 136 136 216 216 276 276
376 376 436 436 516 516 576 576
This fixes the issue by setting 'ACPI Processor ID valid' flag for
{socket, cluster, core} nodes. With this applied, the IDs are exactly
what have been provided in PPTT. I also checked the PPTT table on my
host, where the 'ACPI Processor ID valid' is set for cluster/core nodes,
but missed from socket nodes.
host# pwd
/sys/devices/system/cpu
host# cat cpu0/topology/physical_package_id; \
cat cpu0/topology/cluster_id; \
cat cpu0/topology/core_id
36 0 0
Gavin Shan (3):
tests/acpi/virt: Allow PPTT ACPI table changes
hw/acpi/aml-build: Fix {socket, cluster, core} IDs in PPTT
tests/acpi/virt: Update PPTT ACPI table
hw/acpi/aml-build.c | 9 ++++++---
tests/data/acpi/virt/PPTT | Bin 96 -> 96 bytes
2 files changed, 6 insertions(+), 3 deletions(-)
--
2.23.0
next reply other threads:[~2022-05-18 9:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-18 9:21 Gavin Shan [this message]
2022-05-18 9:21 ` [PATCH 1/3] tests/acpi/virt: Allow PPTT ACPI table changes Gavin Shan
2022-05-18 9:21 ` [PATCH 2/3] hw/acpi/aml-build: Fix {socket, cluster, core} IDs in PPTT Gavin Shan
2022-05-26 12:25 ` Igor Mammedov
2022-05-26 14:40 ` Gavin Shan
2022-06-09 16:00 ` Igor Mammedov
2022-06-13 9:11 ` Gavin Shan
2022-05-18 9:21 ` [PATCH 3/3] tests/acpi/virt: Update PPTT ACPI table Gavin Shan
2022-05-18 15:42 ` [PATCH 0/3] hw/acpi/aml-build: Fix {socket, cluster, core} IDs in PPTT Andrew Jones
2022-05-26 11:37 ` Gavin Shan
2022-05-26 12:27 ` Igor Mammedov
2022-05-26 14:41 ` Gavin Shan
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=20220518092141.1050852-1-gshan@redhat.com \
--to=gshan@redhat.com \
--cc=Jonathan.Cameron@Huawei.com \
--cc=ani@anisinha.ca \
--cc=berrange@redhat.com \
--cc=drjones@redhat.com \
--cc=eduardo@habkost.net \
--cc=imammedo@redhat.com \
--cc=lvivier@redhat.com \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shan.gavin@gmail.com \
--cc=thuth@redhat.com \
--cc=wangyanan55@huawei.com \
--cc=zhenyzha@redhat.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.