Subject: [linux-pm] [PATCH 0/3] coupled cpuidle state support

From: [email-masked] (Kevin Hilman)
Date: Wed, 14 Mar 2012 07:23:59 -0700

Colin Cross <[email-masked]> writes:

> On Tue, Mar 13, 2012 at 5:28 PM, Colin Cross <[email-masked]> wrote:
>> On Tue, Mar 13, 2012 at 4:52 PM, Kevin Hilman <[email-masked]> wrote:

[...]

>>>
>>> Checking the ready_count seemed like an easy way to do this, but did you
>>> have any other mechanisms in mind for CPUs to communicate that they've
>>> exited/aborted?
>>
>> Why not set a flag from CPU1 when it exits the low power state, and
>> have CPU0 spin on the powerdomain register or the flag? ?You can then
>> use the parallel barrier function to ensure both cpus have seen the
>> flag and reset it to 0 before returning.
>
> I realized the parallel barrier helper was not included in the patch
> set I posted, it will be in the next patch set.  

Do you have an ETA for the next patchset?  I'll be glad to give it a
spin on OMAP4.

> Short version, no caller to cpuidle_coupled_parallel_barrier will
> return before all cpus in the coupled set have called it.  It allows
> you to resynchronize the cpus after an abort to ensure they have all
> seen the abort flag before clearing it and returning, leaving
> everything in the correct state for the next idle attempt.

OK, this sounds like it will work well for what I need.

Kevin