[PATCH 7/7] ARM: tegra30: cpuidle: add LP2 driver for CPU0

Joseph Lo josephl at nvidia.com
Fri Oct 12 04:24:24 EDT 2012


On Fri, 2012-10-12 at 15:54 +0800, Shawn Guo wrote:
> On Thu, Oct 11, 2012 at 09:48:45AM -0700, Colin Cross wrote:
> > As is, coupled cpuidle will work on Tegra30, but it will unnecessarily
> > wake up the secondary cpus during the transitions to off and back on
> > again.  Those cpus will immediately go back to single-cpu LP2,
> 
> I'm sure coupled cpuidle will work like that.  We have the following
> code at the end of  cpuidle_enter_state_coupled() to wait until all
> coupled cpus have exited idle.
> 
>         while (!cpuidle_coupled_no_cpus_ready(coupled))
>                 cpu_relax();
> 
> The cpu woken up during the transitions will just loop there until all
> other 3 cpus exit from idle function.
> 

Did this a good idea if the CPU was been woken up from an interrupt but
it still needed to wait all other CPUs been woken up then it could
handle the interrupt?

Thanks,
Joseph




More information about the linux-arm-kernel mailing list