Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH v2] cpuidle: coupled: abort idle if pokes are pending | Date | Thu, 29 Aug 2013 22:28:28 +0200 |
| |
On Wednesday, August 28, 2013 06:41:47 PM Colin Cross wrote: > Joseph Lo <josephl@nvidia.com> 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@nvidia.com> > Tested-by: Stephen Warren <swarren@nvidia.com> > Tested-by: Joseph Lo <josephl@nvidia.com> > Signed-off-by: Colin Cross <ccross@android.com>
Still stable material I suppose?
Queued up for 3.12, thanks!
-- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
| |