AnsweredAssumed Answered

Custom IMX6Q system Hang-up Problem

Question asked by ko-hey on Mar 18, 2015
Latest reply on May 19, 2015 by Wang Lifang

Hi all

 

I'm developing a custom iMX6Q board that is based on SABRE-SD.

My system sometimes hang-up , the phenomenon is as below.

Please tell me how to resolve it.

 

Incidentally, I have already checked following community. But it has not been resolved.

IMX6Q system hang-up problem /  linux kernel(3.0.35)

 

↓Here is my phenomenon

---------------------------------------------------------

 

  •  

    Out Linux Kernel Version: 
    Timesys LinuxLink 3.0.35-ts-armv71 
    * based on [ L3.0.35_4.0.0 ] 
    * we change the kernel setting about CONFIG_RCU_CPU_STALL_TIMEOUT from 30sec to 10sec .CPU:i.MX6Q
    The frequency operates 15 boards consecutively for two days and occurs in 1-2 boards.
    I confirmed a few thing for the individual difference of the hardware .

    When my system hang-up , my system may or may not output the log about rcu detected stall.Follows are the log .

    a)
    Thu Mar 05 08:14:11.496 2015] INFO: rcu_preempt_state detected stalls on CPUs/tasks: { 2 3} (detected by 0, t=1002 jiffies)

    b)
    Mar 5 06:16:09 (none) user.err kernel: INFO: rcu_preempt_state detected stalls on CPUs/tasks: { 1 3} (detected by 0, t=1002 jiffies)

    c)
    Mar 5 10:32:47 (none) user.err kernel: INFO: rcu_preempt_state detected stall on CPU 3 (t=1001 jiffies)Mar 5 10:32:47 (none) user.err kernel: INFO: rcu_preempt_state detected stalls on CPUs/tasks: { 3} (detected by 2, t=1002 jiffies)


    By the application that we develop, I produce nine child threads from main thread and i watch the movement of the child thread in main thread.

    when my system hang-up , either main thread and child thread may be hang-up .

    If main thread hang-up, the watchdog timer outputs Power-on Reset .
    So i cannot acquire useful log .

    I traced child thread when hang-up , the thread did not wakeup after the sleep function call .
    I set 1sec or 100ms for the sleep function , but the thread wakeup 10 sec later .

    I implement a program to put up a stop flag of the global variable when there is not a reply, it more than 10 seconds.
    I felt that I linked about the wakeup and change of the global variable .

    Question:
    Could you tell me a cause that you think about this problem ?

     

Outcomes