Re: [PATCH v2] cpuidle: coupled: abort idle if pokes are pending

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday, August 28, 2013 06:41:47 PM Colin Cross wrote:
> Joseph Lo <josephl@xxxxxxxxxx> reported a lockup on Tegra20 caused
> by a race condition in coupled cpuidle.  When two or more cpus
> enter idle at the same time, the first cpus to arrive may go to the
> ready loop without processing pending pokes from the last cpu to
> arrive.
> 
> This patch adds a check for pending pokes once all cpus have been
> synchronized in the ready loop and resets the coupled state and
> retries if any cpus failed to handle their pending poke.
> 
> Retrying on all cpus may trigger the same issue again, so this patch
> also adds a check to ensure that each cpu has received at least one
> poke between when it enters the waiting loop and when it moves on to
> the ready loop.
> 
> Reported-by: Joseph Lo <josephl@xxxxxxxxxx>
> Tested-by: Stephen Warren <swarren@xxxxxxxxxx>
> Tested-by: Joseph Lo <josephl@xxxxxxxxxx>
> Signed-off-by: Colin Cross <ccross@xxxxxxxxxxx>

Still stable material I suppose?

Queued up for 3.12, thanks!

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux