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.

schedule latency on am335x board

Hi all

I tested kernel latency by tracer

I used to ti-sdk-am335x-evm-08.00.00.00 on am335x board

The Wonder common problems that occur in a typical idle state

Do you have ways to improve latency?

Is this latencie inherent to classic Linux?

# wakeup latency trace v1.1.5 on 3.14.26-rt25-g07d13c6-dirty
# --------------------------------------------------------------------
# latency: 59 us, #4/4, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
#    -----------------
#    | task: rcuc/0-13 (uid:0 nice:0 policy:1 rt_prio:1)
#    -----------------
#
#                   _--------=> CPU#
#                  / _-------=> irqs-off
#                 | / _------=> need-resched
#                 || / _-----=> need-resched_lazy
#                 ||| / _----=> hardirq/softirq
#                 |||| / _---=> preempt-depth
#                 ||||| / _--=> preempt-lazy-depth
#                 |||||| / _-=> migrate-disable
#                 ||||||| /     delay
#  cmd     pid    |||||||| time  |   caller
#     \   /      ||||||||  \   |   /
  <idle>-0       0dn.h4..    4us+:      0:120:R   + [000]    13: 98:S rcuc/0
  <idle>-0       0dn.h4..   17us+: try_to_wake_up <-wake_up_process
  <idle>-0       0d...3..   55us+: __schedule <-schedule
  <idle>-0       0d...3..   57us :      0:120:R ==> [000]    13: 98:R rcuc/0


# wakeup latency trace v1.1.5 on 3.14.26-rt25-g07d13c6-dirty
# --------------------------------------------------------------------
# latency: 57 us, #4/4, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
#    -----------------
#    | task: irq/88-OMAP UAR-897 (uid:0 nice:0 policy:1 rt_prio:50)
#    -----------------
#
#                   _--------=> CPU#
#                  / _-------=> irqs-off
#                 | / _------=> need-resched
#                 || / _-----=> need-resched_lazy
#                 ||| / _----=> hardirq/softirq
#                 |||| / _---=> preempt-depth
#                 ||||| / _--=> preempt-lazy-depth
#                 |||||| / _-=> migrate-disable
#                 ||||||| /     delay
#  cmd     pid    |||||||| time  |   caller
#     \   /      ||||||||  \   |   /
      sh-1607    0dn.h3..    5us+:   1607:120:S   + [000]   897: 49:S irq/88-OMAP UAR
      sh-1607    0dn.h3..   24us+: try_to_wake_up <-wake_up_process
      sh-1607    0d...3..   51us+: __schedule <-preempt_schedule_irq
      sh-1607    0d...3..   54us :   1607:120:S ==> [000]   897: 49:R irq/88-OMAP UAR


# tracer: wakeup_rt
#
# wakeup_rt latency trace v1.1.5 on 3.14.26-rt25-g07d13c6-dirty
# --------------------------------------------------------------------
# latency: 59 us, #4/4, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
#    -----------------
#    | task: irq/57-4a100000-879 (uid:0 nice:0 policy:1 rt_prio:50)
#    -----------------
#
#                   _--------=> CPU#
#                  / _-------=> irqs-off
#                 | / _------=> need-resched
#                 || / _-----=> need-resched_lazy
#                 ||| / _----=> hardirq/softirq
#                 |||| / _---=> preempt-depth
#                 ||||| / _--=> preempt-lazy-depth
#                 |||||| / _-=> migrate-disable
#                 ||||||| /     delay
#  cmd     pid    |||||||| time  |   caller
#     \   /      ||||||||  \   |   /
  <idle>-0       0dn.h4..    5us+:      0:120:R   + [000]   879: 49:S irq/57-4a100000
  <idle>-0       0dn.h4..   17us+: try_to_wake_up <-wake_up_process
  <idle>-0       0d...3..   54us+: __schedule <-schedule
  <idle>-0       0d...3..   56us :      0:120:R ==> [000]   879: 49:R irq/57-4a100000
root@am335x-evm:/sys/kernel/debug/tracing#