hi
imx6q use L3.0.35_4.1.0_130816 to build u-boot,kernel and rootfs. when we run our app(qt app), the system hang-up when run 3 days. it happen serval times.
in the kernel log you may find notifications like:
[ 73.247613] INFO: rcu_preempt_state detected stalls on CPUs/tasks: { 0} (detected by 3, t=6002 jiffies)
[ 77.257610] INFO: rcu_bh_state detected stalls on CPUs/tasks: { 0} (detected by 3, t=6002 jiffies)
[ 253.567611] INFO: rcu_preempt_state detected stalls on CPUs/tasks: { 0} (detected by 3, t=24034 jiffies)
[ 257.577611] INFO: rcu_bh_state detected stalls on CPUs/tasks: { 0} (detected by 3, t=24034 jiffies)
[ 433.887610] INFO: rcu_preempt_state detected stalls on CPUs/tasks: { 0} (detected by 3, t=42066 jiffies)
[ 437.897611] INFO: rcu_bh_state detected stalls on CPUs/tasks: { 0} (detected by 3, t=42066 jiffies)
[ 614.207612] INFO: rcu_preempt_state detected stalls on CPUs/tasks: { 0} (detected by 3, t=60098 jiffies)
[ 618.217610] INFO: rcu_bh_state detected stalls on CPUs/tasks: { 0} (detected by 3, t=60098 jiffies)
in community, i find someone encounter the same problem,according Re: Re: freescale android kernel have scheduling problem !!!,i follow steps below to patch my kernel.
1.modify time.c
rcu_preempt_state detected stalls" could be fixed with the followng patch, please try
--- linux-3.0.35/arch/arm/plat-mxc/time.c.orig | 2013-12-11 09:25:29.518910709 +1300 |
+++ linux-3.0.35/arch/arm/plat-mxc/time.c | 2013-12-11 09:26:12.958912361 +1300 |
@@ -165,7 +165,8 @@
__raw_writel(tcmp, timer_base + V2_TCMP); |
- | return 0; |
+ return evt < 0x7fffffff &&
+ (int)(tcmp - __raw_readl(timer_base + V2_TCN)) < 0 ? ETIME : 0;
}
#ifdef DEBUG
2.patch 0027-ENGR00306276-iMX6-Add-workaround-for-ARM-errata-7613.patch, 0026-ENGR00306257-1027-fix-system-hang-up-issue-caused-by.patch and 0025-ENGR00295714-GPT-Status-register-bits-are-cleared-in.patch
but when i finish modify,the kernel still hung up like before。 i also try to update gpu lib to p13,but i found lib(libEGL,libGAL) in gpu-viv-bin-mx6q-3.0.35-4.1.0 can not work in p13. is it p13 cannot used in linux?
is there anyting i can try to fix this problem in linux?
Hi, igorpadykov:
I also focus on this potential issue, could you provide the link of these patches for old SDK-3.0.35-4.1.0?
patch will be released soon on official i.MX6 site.
Hi igorpadykov:
what you meant is that freescal will release new version for Linux3.0.35 this week, or just release some patch?
it will be released by SABRE Board Reference Design|Freescale?
if no,please give me link to download when released.We are in urgent need of this patch。thanks.
I have picked up some recent bug fixes for L3.0.35_4.1.0 that may related to this hang up issue. Would you please apply these patches in sequence and let me know if the problem still persists?
Note: 0009-ARM-imx-return-zero-in-case-next-event-gets-a-large-.patch is added
Hi PeterChan
I also meet hand up issue on android 4.2.2 BSP.
can I take use of your attached patch files to merge into Android 4.2.2 BSP??
does Android 4.2.2 BSP kernel version is base on L3.0.35_4.1.0 ???
Hi,PeterChan:
i have patch the file what you provide.i have test for serval days.but The problem still persists.
i found that, the patch you provide can delay error happen,but cannot fix it.
is there anyting i can try ? thanks!
Has the board pass the DDR stress test at https://community.freescale.com/docs/DOC-96412?
Have you ever checked the i.MX6 input power rails to ensure they can meet the minimum voltage requirement?
The L3.0.101_4.1.1 has just released at http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&fpsp=1&tab=Design_Tools_Tab. Could you please try this release?
Hi,PeterChan:
i has run DDR stress test, and pass when i set freq from 450MHZ to 672MHZ.
and input power also can meet the minimum voltage requirment.
i has try L3.0.101_4.1.1,the problem still persists, it just like L3.0.35_4.1.0 when patch file what you supply.
compare to L3.0.35_4.1.0, i found that L3.0.101_4.1.1(or L3.0.35_4.1.0 with patch) just printf the log(rcu_preempt_state detected stalls...),but the system did not hang up.
it also did not printf log Frequently.
patches released on link below several days ago
IMX6_JB43_111_ANDROID_SOURCE_BSP : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite,
i.MX 6Solo and i.MX 6Sololite Android BSP Source Code Files. Modified: 10/24/2014
Hi igorpadykov
Thanks for you information about the "android_jb4.3_1.1.1-ga_source.tar"patch.
As what I understand, this jb4.3_1.1.1 patch is just for FSL Android 4.3 version.
while, what about FSL Android 4.4.2 BSP version??does this version need to do the patch??
FSL didnot release any patch about Android 4.4.2 on the official imx6 site ,
could i think that FSL Android 4.4.2 BSP have been merged all these patch?
Hi cai
yes android 4.4.2 also needs these patches, though
I do not know when they will be released.
~igor
hi igorpadykov
thanks for your relay.
one more question, Can Android 4.2.2 BSP be taking use of these Patchs(android_jb4.3_1.1.1-ga_source.tar)??
Android 4.2.2 uses L3.0.35_4.0.0 while jb4.3_1.1
L3.0.35_4.1.0, probably some modifications are needed.
It take me more than 5 minutes to get the link, here is the correct position which igorpadykov provide:
1. enter the web page:
2. In "Run-time software (70) Expand All" <-- notice (70) might increse to (71) or more
click the sub class "Operating System Software-Board Support Packages (30) " <-- notice (30) might increse to (31) or more
3. click "IMX6_JB43_111_ANDROID_SOURCE_BSP", now you can download the file.
cheers