This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x kernel RT throttling activated

Other Parts Discussed in Thread: AM3352

Hi,

I am using am3352 and 3.14.26 kernel, my system gets reboot after showing:

 [sched_delayed] sched: RT throttling activated
 omap_i2c 4802a000.i2c: controller timed out


this happens some time when i run 4 Video call. As far as i know we are not using any real time task in system.

and in my kernel configuration, kernel is none preemptive.

I have some doubt 

1)  When kernel show this message "RT throttling activated"?

2)How to find real time task is running in my system?

3)If there is no any real time application is used by us, still Real time patch are required?

4) How to solve this problem?

  • Hi,

    1) When kernel show this message "RT throttling activated"

    Linux kernel shows this message, because there is a real-time task(s) in your system, which consumes a large amount of time. At some point the kernel throttles it to try and keep the system together.

    2)How to find real time task is running in my system?

    You should inspect the output of top or ps commands.

    3)If there is no any real time application is used by us, still Real time patch are required?

    No, this is not required

    Can you post your full dmesg/bootlog?

    As for your second error:
    omap_i2c 4802a000.i2c: controller timed out

    Can you try to access this I2C controller from u-boot, with i2c detect, see this thread:
    e2e.ti.com/.../457292

    4) How to solve this problem?

    Can you verify that the kernel hangs only when you perform 4 video calls? In that case this could be a cpu overloading issue.. Try executing only 1 or 2 video calls and see if you get the same behaviour.

    Best Regards,
    Yordan
  • Hi Yordan,

    -I am not able to see real time task in my Board. There is no column for PR in my board. While using top and ps command in PC it shows PR column. And also there is no sched file in /proc/pid/ dir. Is there any kernel configuration for this?

    -I have read that kernel use real time thread still real time patch is not required. there are not real time configuration in my kernel. And my system gets reboot after showing rt throttling activated.

    -While making setup for 4 video call, using top command, cpu % usage is not more than 20%.

    - RTC is connected to i2c1 and application is reading it every 400ms. and i2c clock is 400Khz.

    every time system reboots after showing this.

    [sched_delayed] sched: RT throttling activated
     omap_i2c 4802a000.i2c: controller timed out

    -When app stop reading from RTC and making 4 video call system reboots after

    [sched_delayed] sched: RT throttling activated

     

    -
    here in this thread you telling that you have doubt that the RT patch is working reliably on 3.14.

    Is there any problem in kernel 3.14?

    -We are using same setup with different product and it is working fine. In that  we are using Atmel 9200 and kernel 2.6. with same applications.

    There is no issue related to rt throttling.

    -I have attached of serial log when system get rebooted showing rt throttling activated. In this setup we are making  4Video call not reading RTC and cpu% usage below 20%.NEV2_Video_call_24NOV_2.txt

    +Please give me any solution to find real time task in system.

  • Hi Yordan,
    Using ps command i checked real time task. While running this command
    ps -deo pid,cls,cmd, | -e RR -e FF

    This shows: 701 FF [irq/87-4802a000]

    I am using I2C1 and it has 4802a000 address. On I2c RTC is connected and application is reading it every 400ms.
    Please give me some solution.
    Regards,
    Sourabh Jain
  • Hi Yordan,
    Please give some solution for this query.
  • Hi,

    here in this thread you telling that you have doubt that the RT patch is working reliably on 3.14.
    Is there any problem in kernel 3.14?


    The officially released TISDK kernel 3.14 is working fine. However, the RT patch was NOT officially verified to be stable.. this is why I mention that I have doubt if it will work reliably. Are you using the CONFIG_RT patch? Note that there is no officially released RT kernel 3.14.

    I've looked at the console log and I see the following warnings, which should be taken care of:
    [ 0.100850] ------------[ cut here ]------------
    [ 0.100892] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2568 _init+0x3cc/0x418()
    [ 0.101205] ---[ end trace 451c26c699680ec2 ]---
    .................................................................................
    [ 1.328764] PM: Voltage scaling data blob not provided from DT.
    [ 1.335124] PM: no-rtc available, rtc-only mode disabled.

    It is possible that a wrong power management setting is causing your problem, when you enable the 4 video calls.

    Best Regards,
    Yordan
  • Hi Yordan,

    We are not using CONFIG_RT patch and also there no any real time application in our system.

    But while checking for real time thread using ps command i got this.

    [irq/87-4802a000]


    So for this real time thread, does i need rt patch? And also my kernel is none preemptive.

  • Hi,

    As I said, this could be related to the hwmod preparation, see
    [ 0.100892] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2568 _init+0x3cc/0x418()

    I am guessing here, but it is possible to be some kind of a race condition when you make the video calls. Your system tries to access a resource that has not been (or is being) initialized by omap_hwmod.c...

    Can you share your dts & dtsi files? Maybe there is an error in some of the device tree nodes related to the hwmod driver.

    Best Regards,
    Yordan
  • Hi Yordan,

    I have attached dts and dtsi file please look into this. This is very urgent.

    Thank you

    Regards,

    Sourabh Jain

    dts.zip 

  • Hi Sourabh,

    I was not able to see a any reference to the tps in your am335x-evmsk.dts? How do you power up your board? Do you use PMIC, i.e. tps chip connected to i2c0, or are you using a custom solution?

    Also as far as I see from the comments you use external RTC connected to I2C1, right? Where did you described that RTC device? Are you using it in your application?

    Best Regards,
    Yordan
  • Hi Yordan,

    This is a custom board and we are not using PMIC.

    And when we add RTC node.

    &i2c1 {
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&i2c1_pins_default>;
        pinctrl-1 = <&i2c1_pins_sleep>;
        status = "okay";
         clock-frequency = <400000>;               /* Her RTC is working in
    fast mode and freq = 400 KHZ*/
         
         s35390a: s35390a@30{
          compatible="sii,s35390a";
          reg=<0x30>;
          status="okay";
        };
         
    }

    On adding this it is showing

    1.603654] rtc-s35390a 1-0030: rtc core: registered rtc-s35390a as
    rtc0
    [    1.610727] i2c i2c-1: Failed to register i2c client s35390a at 0x30
    (-16)
    [    1.617982] i2c i2c-1: Can't create device at 0x30
    [    1.622987] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz

    And without this

     s35390a: s35390a@30{
          compatible="sii,s35390a";
          reg=<0x30>;
          status="okay";
        };

    My external clock is working but while making 4 video calls it some time shows.

    RT Throttling activated.

    Regards,

    Sourabh Jain