Re: [PATCH V2] ARM: cpuidle: Support asymmetric idle definition

From: Sudeep Holla
Date: Fri Jun 02 2017 - 05:20:17 EST




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