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

From: 王擎
Date: Tue Apr 26 2022 - 02:52:44 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.
>>
>
>I assume no one cared or had a requirement for the same.

It took me a while to find the root cause why enabling SCHED_CLUSTER
didn't work.

We should add SCHED_CLUSTER's dependency before implementation.
Otherwise, everyone who doesn't have ACPI but use SCHED_CLUSTER
will have this problem.

Thanks,
Qing

>
>--
>Regards,
>Sudeep