1、运行过程中其他程序CPU占用过高,导致EtherCat Xenomai实时任务响应超时,EtherCat没有让出CPU,导致rcu_preempt内核线程卡死。日志如下
EtherCat taskProc APPTRACE task_proc:wait_period_err err=-110 overruns=2072 active=1
rcu: INFO:rcu_preempt detected stalls on CPUs/tasks:
rcu:Tasks blocked on level-0 rcu_node (CPUs 0-0):P10104/1:b..1
(_schedule) from preempt_schedule_irq
(preempt_schedule_irq) from arm_preempt_schedule_irq
arm_preempt_schedule_irq from svc_preempt
Exception stack
fca0
fcc0
fce0
svc_preempt from kmem_cache_alloc
kmem_cache_alloc from seq_open
seq_open from __seq_open_private
__seq_open_private from seq_open_private
seq_open_private from mounts_open_common
mounts_open_common from do_entry_open
do_entry_open from path_openat
path_openat from do_filp_open
do_filp_open from do_sys_openat2
do_sys_openat2 from do_sys_open
do_sys_open from ret_fast_syscall
Exception stack
ffa0
ffc0
ffe0
rcu:r