]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: imx6: exit coherency when shutting down a cpu
authorShawn Guo <shawn.guo@linaro.org>
Tue, 22 May 2012 14:13:46 +0000 (22:13 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Thu, 7 Jun 2012 13:47:32 +0000 (21:47 +0800)
commit611e7b67f3de4928ffe2f24607d3873dd455c7ec
tree15eae3d2cd13220ed178d2c48924b159247bb81a
parent19a4cd01caeab41574f1014f54eee7a3b32d2f16
ARM: imx6: exit coherency when shutting down a cpu

There is a system hang issue on imx6q which can easily be seen with
running a cpu hotplug stress testing (hotplug secondary cores from
user space via sysfs interface for thousands iterations).

It turns out that the issue is caused by coherency of the cpu that
is being shut down.  When shutting down a cpu, we need to have the
cpu exit coherency to prevent it from receiving cache, TLB, or BTB
maintenance operations broadcast by other CPUs in the cluster.

Copy cpu_enter_lowpower() and cpu_leave_lowpower() from mach-vexpress
to have coherency properly handled in platform_cpu_die(), thus fix
the issue.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Cc: stable@kernel.org
arch/arm/mach-imx/hotplug.c