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#