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

Sudeep Holla sudeep.holla at arm.com
Tue Apr 26 06:25:11 PDT 2022


On Tue, Apr 26, 2022 at 06:52:34AM +0000, 王擎 wrote:
> 
> >> 
> >> >> 
> >> >> >> From: Wang Qing <wangqing at vivo.com>
> >> >> >> 
> >> >> >> 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.
> 

I am fine with that or mark it broken for DT, but ideally I wouldn't
want to create unnecessary dependency on ACPI or DT when both supports
the feature.

-- 
Regards,
Sudeep



More information about the linux-arm-kernel mailing list