summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorHuang, Tao <huangtao@rock-chips.com>2017-05-18 10:51:27 +0800
committerHuang, Tao <huangtao@rock-chips.com>2017-05-18 11:33:04 +0800
commit850b23f6ba9affb949918a8f670ef0a1606c42a2 (patch)
tree2d606d00517a7dd564d7d09fa367ec2149a090a6 /arch/arm
parent7557d060d41d645fae85557a6bd8973b76f9fa66 (diff)
ARM: rockchip: Add workaround for unknown write of thread_info
We see the cpu of thread_info was changed by unknown reason sometimes, which cause rq spinlock deadlock while schedule. Until we found the root cause, we have to add this workaround. Change-Id: Ib943ccb47a57fe4b267a1da853366363cd7f1f52 Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/include/asm/thread_info.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/include/asm/thread_info.h b/arch/arm/include/asm/thread_info.h
index 776757d1604a..af4a57fdc816 100644
--- a/arch/arm/include/asm/thread_info.h
+++ b/arch/arm/include/asm/thread_info.h
@@ -47,6 +47,13 @@ struct cpu_context_save {
* __switch_to() assumes cpu_context follows immediately after cpu_domain.
*/
struct thread_info {
+#ifdef CONFIG_ARCH_ROCKCHIP
+ /*
+ * FIXME: prevent unknown write of cpu
+ * we reservee 64 bytes to make sure cacheline aligned
+ */
+ __u8 reserved[64];
+#endif
unsigned long flags; /* low level flags */
int preempt_count; /* 0 => preemptable, <0 => bug */
mm_segment_t addr_limit; /* address limit */