Re: [PATCH V2] arm64: add SCHED_CLUSTER's dependency on ACPI

From: Sudeep Holla
Date: Mon Apr 25 2022 - 13:00:01 EST


On Mon, Apr 25, 2022 at 11:18:21AM +0000, 王擎 wrote:
>
> >> From: Wang Qing <wangqing@xxxxxxxx>
> >>
> >> cluster sched_domain configured by cpu_topology[].cluster_sibling,
> >> which is set by cluster_id, cluster_id can only get from ACPI.
> >>
> >> If the system does not enable ACPI, cluster_id is always -1, even enable
> >> SCHED_CLUSTER is invalid, this is misleading.
> >>
> >> So we add SCHED_CLUSTER's dependency on ACPI here.
> >>
> >
> >Any reason why this can't be extended to support DT based systems via
> >cpu-map in the device tree. IMO we almost have everything w.r.t topology
> >in DT and no reason to deviate this feature between ACPI and DT.
> >
> That's the problem, we parse out "cluster" info according to the
> description in cpu-map, but do assign it to package_id, which used to
> configure the MC sched domain, not cluster sched domain.
>

Right, we haven't updated the code after updating the bindings to match
ACPI sockets which are the physical package boundaries. Clusters are not
the physical boundaries and the current topology code is not 100% aligned
with the bindings after Commit 849b384f92bc ("Documentation: DT: arm: add
support for sockets defining package boundaries")

> That is to say, "cluster" in cpu-map is used to describe the package_id.
> We can't get cluster_id from DT.
>

That is wrong, we have "socket" to describe the package_id now.

--
Regards,
Sudeep