On 01/06/17 12:39, Daniel Lezcano wrote: > Some hardware have clusters with different idle states. The current code does > not support this and fails as it expects all the idle states to be identical. > > Because of this, the Mediatek mtk8173 had to create the same idle state for a > big.Little system and now the Hisilicon 960 is facing the same situation. > > Solve this by simply assuming the multiple driver will be needed for all the > platforms using the ARM generic cpuidle driver which makes sense because of > the > different topologies we can support with a single kernel for ARM32 or ARM64. > > Every CPU has its own driver, so every single CPU can specify in the DT the > idle states. > > This simple approach allows to support the future dynamIQ system, current SMP > and HMP. > > It is unoptimal from a memory point of view for a system with a large number > of > CPUs but nowadays there is no such system with a cpuidle driver on ARM. >
While I agree this may be simple solution, but just not necessary for systems with symmetric idle states especially one with large number of CPUs. I don't like to see 96 CPU Idle driver on say ThunderX. So we *must* have some basic distinction done here. IMO, we can't punish a large SMP systems just because they don't have asymmetric idle states. -- Regards, Sudeep