From: Sudeep Holla <sudeep.holla@arm.com>
To: "Christoph Lameter (Ampere)" <cl@gentwo.org>
Cc: Jeremy Linton <jeremy.linton@arm.com>,
Sudeep Holla <sudeep.holla@arm.com>,
Huang Shijie <shijie@os.amperecomputing.com>,
catalin.marinas@arm.com, will@kernel.org,
patches@amperecomputing.com, Shubhang@os.amperecomputing.com,
krzysztof.kozlowski@linaro.org, bjorn.andersson@oss.qualcomm.com,
geert+renesas@glider.be, arnd@arndb.de, nm@ti.com,
ebiggers@kernel.org, nfraprado@collabora.com,
prabhakar.mahadev-lad.rj@bp.renesas.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] arm64: defconfig: enable CONFIG_SCHED_CLUSTER
Date: Thu, 14 Aug 2025 11:03:54 +0100 [thread overview]
Message-ID: <aJ20imoeRL_tifky@bogus> (raw)
In-Reply-To: <c45b13b9-52ae-a52b-ce39-77f7ebe09507@gentwo.org>
On Wed, Aug 13, 2025 at 03:56:47PM -0700, Christoph Lameter (Ampere) wrote:
> On Wed, 13 Aug 2025, Christoph Lameter (Ampere) wrote:
>
> > Can we figure out which platforms benchmarks were affected and why?
> >
> > It seems the notion of a "cluster" on ARM64 is derived (I guess a better
> > word than "invented" hehe) from sibling information instead of PPTT. But
> > using that information should work fine right?
>
> Sorry no that is not correct. The cluster information is correctly read
> from the ACPI tables and the cluster ids are avaialble in
>
> /sys/devices/system/cpu/cpuXX/topology/cluster_id
>
Agreed, the parts of ACPI specification has added notion of cluster sprinkle
across various chapters(mostly added by Arm in the earlier days though the
Arm architecture specification itself doesn't have any standard definition
for the cluster). Also note it nicely adds a disclaimer:
| Different architectures use different terminology to denominate logically
| associated processors, but terms such as package, cluster, module, and
| socket are typical examples.
So how can one use these across architectures ? Package/Socket is quite
standard. Cluster can be group of processors or it can also be group of
processor clusters. One of the Arm vendors call it super cluster or something.
All these makes it super hard for a generic OS to interpret that information.
Just CONFIG_SCHED_CLUSTER was added with one notion of cluster which was soon
realised doesn't match with some other notion of it.
We can enable it and I am sure someone will report a regression on their
platform and we need to disable it again. The benchmark doesn't purely
depend on just the "notion" of cluster but it is often related to the
private resource and how they are shared in the system. So even if you
strictly follow the notion of cluster as supported by CONFIG_SCHED_CLUSTER
it will fail on systems where the private resources are shared across the
"cluster" boundaries or some variant configuration.
> if CONFIG_SCHED_CLUSTER is enabled.
>
> If there is an issue then it is a problem with the vendor firmware
> providing cluster id configurations via ACPI that cause regressions.
>
As mentioned, it is not strictly just the cluster id but other shared
resources that contribute to the issues/regressions.
> We could add a blacklist for those platforms to avoid regressions but we
> should not allow that to hinder us to enable full support for clustering
> on ARM64.
>
Sure, but we need to improve the "cluster" definition in the ACPI and Arm
specification, get an agreement on what it means for other architecture
first IMO. We don't want to revisit the same topic again without these as
IIRC this is the second time we are discussion around this topic.
--
Regards,
Sudeep
next prev parent reply other threads:[~2025-08-14 13:15 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-08 2:55 [PATCH] arm64: defconfig: enable CONFIG_SCHED_CLUSTER Huang Shijie
2025-08-11 15:13 ` Jeremy Linton
2025-08-12 3:05 ` Shijie Huang
2025-08-12 16:33 ` Christoph Lameter (Ampere)
2025-08-12 17:32 ` Jeremy Linton
2025-08-13 9:28 ` Sudeep Holla
2025-08-13 15:55 ` Christoph Lameter (Ampere)
2025-08-13 22:56 ` Christoph Lameter (Ampere)
2025-08-14 10:03 ` Sudeep Holla [this message]
2025-08-14 16:30 ` Christoph Lameter (Ampere)
2025-08-15 10:48 ` Sudeep Holla
2025-08-15 16:46 ` Jeremy Linton
2025-08-18 9:33 ` Sudeep Holla
2025-08-20 23:44 ` Christoph Lameter (Ampere)
2025-08-21 12:11 ` Sudeep Holla
2025-08-27 2:33 ` Shijie Huang
2025-08-27 10:19 ` Sudeep Holla
2025-08-14 10:07 ` Sudeep Holla
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=aJ20imoeRL_tifky@bogus \
--to=sudeep.holla@arm.com \
--cc=Shubhang@os.amperecomputing.com \
--cc=arnd@arndb.de \
--cc=bjorn.andersson@oss.qualcomm.com \
--cc=catalin.marinas@arm.com \
--cc=cl@gentwo.org \
--cc=ebiggers@kernel.org \
--cc=geert+renesas@glider.be \
--cc=jeremy.linton@arm.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nfraprado@collabora.com \
--cc=nm@ti.com \
--cc=patches@amperecomputing.com \
--cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
--cc=shijie@os.amperecomputing.com \
--cc=will@kernel.org \
/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).