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

From: 王擎
Date: Mon Apr 25 2022 - 22:23:36 EST



>>
>> >> 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")

I see, but this commit is a long time ago, why hasn't it been used widely.
Maybe I can help about it if you need.

Thanks,
Qing

>
>> 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