Now with the fix from above unfortunately I ran into another problem.
After some undetermined situation nuclues freezes. That means all tasks running
in primary domain are freezed. In contrast all processes and tasks of secondary
domain are still running without any problem at the same time. The xenomai task
states are looking normal:
~ # cat /proc/xenomai/stat
CPU PID MSW CSW PF STAT %CPU NAME
0 0 0 13914 0 00500080 98.8 ROOT
0 83 196 196 0 00300380 0.0 DOS4
0 82 13 13 0 00300380 0.0 DOS5
I have enabled ipipe traceing to figure out what's happening here (see output
below, created after tasks have freezed). However I am not sure how to
interpret that. Does anyone has an idea?
~ # echo 1 > /proc/ipipe/trace/frozen
~ # cat /proc/ipipe/trace/frozen
I-pipe frozen back-tracing service on 3.10.18-rt14-arvero-rev01-ipipe/ipipe
release #1
------------------------------------------------------------
CPU: 0, Freeze: 2248334328 cycles, Trace Points: 100 (+10)
Calibrated minimum trace-point overhead: 1.080 us
+----- Hard IRQs ('|': locked)
|+-- Xenomai
||+- Linux ('*': domain stalled, '+': current, '#': current+stalled)
||| +---------- Delay flag ('+': > 1 us, '!': > 10 us)
||| | +- NMI noise ('N')
||| | |
Type User Val. Time Delay Function (Parent)
: +func -181+ 1.040 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x1c)
: +func -180+ 1.200 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x88)
: +func -179+ 2.160 filp_close+0x10 (do_dup2+0xdc)
: +func -177+ 1.760 locks_remove_posix+0x14
(filp_close+0x64)
: +func -175+ 1.240 fput+0x10 (filp_close+0x6c)
:| +begin 0x80000001 -174+ 1.520 fput+0xe8 (filp_close+0x6c)
:| +end 0x80000001 -172+ 1.240 fput+0xfc (filp_close+0x6c)
:| +func -171 0.880 __ipipe_bugon_irqs_enabled+0x10
(ret_fast_syscall+0x14)
:| +end 0x90000000 -170+ 2.080 ret_fast_syscall+0x2c (<0000b5bc>)
:| +begin 0x90000000 -168+ 2.320 vector_swi+0x3c (<0000b3d8>)
: +func -166+ 1.360 __ipipe_syscall_root+0x10
(vector_swi+0x74)
: +func -164 0.920 SyS_close+0x10 (ret_fast_syscall+0x0)
: +func -164+ 1.080 __close_fd+0x10 (SyS_close+0x30)
: +func -162 0.880 rt_spin_lock+0x10 (__close_fd+0x28)
: +func -162 0.960 ipipe_root_only+0x10
(rt_spin_lock+0x1c)
: +func -161 0.920 rt_spin_lock_slowlock+0x14
(rt_spin_lock+0x24)
: +func -160+ 1.320 ipipe_root_only+0x10
(rt_spin_lock_slowlock+0x40)
: +func -158+ 1.520 __try_to_take_rt_mutex+0x14
(rt_spin_lock_slowlock+0x70)
: +func -157+ 2.080 ipipe_root_only+0x10
(rt_spin_lock_slowlock+0x238)
: +func -155 0.880 rt_spin_unlock+0x10 (__close_fd+0xbc)
: +func -154 0.880 rt_spin_lock_slowunlock+0x10
(rt_spin_unlock+0x18)
: +func -153 1.000 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x1c)
: +func -152+ 1.040 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x88)
: +func -151+ 1.120 filp_close+0x10 (__close_fd+0xc8)
: +func -150+ 1.120 locks_remove_posix+0x14
(filp_close+0x64)
: +func -149 0.960 fput+0x10 (filp_close+0x6c)
:| +begin 0x80000001 -148 0.920 fput+0xe8 (filp_close+0x6c)
:| +end 0x80000001 -147+ 1.800 fput+0xfc (filp_close+0x6c)
:| +func -145 1.000 __ipipe_bugon_irqs_enabled+0x10
(ret_fast_syscall+0x14)
:| +end 0x90000000 -144! 18.320 ret_fast_syscall+0x2c (<0000b3dc>)
:| +begin 0x90000000 -126+ 2.360 vector_swi+0x3c (<0012097c>)
: +func -123+ 1.800 __ipipe_syscall_root+0x10
(vector_swi+0x74)
: +func -122+ 1.960 SyS_wait4+0x14 (ret_fast_syscall+0x0)
: +func -120+ 2.440 do_wait+0x14 (SyS_wait4+0x94)
: +func -117+ 1.320 add_wait_queue+0x10 (do_wait+0x6c)
: +func -116+ 1.200 rt_spin_lock+0x10 (add_wait_queue+0x30)
: +func -115+ 1.160 ipipe_root_only+0x10
(rt_spin_lock+0x1c)
: +func -113 0.920 rt_spin_lock_slowlock+0x14
(rt_spin_lock+0x24)
: +func -113+ 1.640 ipipe_root_only+0x10
(rt_spin_lock_slowlock+0x40)
: +func -111+ 1.320 __try_to_take_rt_mutex+0x14
(rt_spin_lock_slowlock+0x70)
: +func -110+ 2.040 ipipe_root_only+0x10
(rt_spin_lock_slowlock+0x238)
: +func -108+ 1.040 rt_spin_unlock+0x10
(add_wait_queue+0x50)
: +func -107 0.880 rt_spin_lock_slowunlock+0x10
(rt_spin_unlock+0x18)
: +func -106 1.000 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x1c)
: +func -105+ 1.920 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x88)
: +func -103+ 1.080 rt_read_lock+0x10 (do_wait+0xb0)
: +func -102 0.880 __rt_spin_lock+0x10 (rt_read_lock+0x3c)
: +func -101 0.960 ipipe_root_only+0x10
(__rt_spin_lock+0x1c)
: +func -100 0.920 rt_spin_lock_slowlock+0x14
(__rt_spin_lock+0x24)
: +func -99+ 1.160 ipipe_root_only+0x10
(rt_spin_lock_slowlock+0x40)
: +func -98 1.000 __try_to_take_rt_mutex+0x14
(rt_spin_lock_slowlock+0x70)
: +func -97+ 1.920 ipipe_root_only+0x10
(rt_spin_lock_slowlock+0x238)
: +func -95+ 2.440 wait_consider_task+0x14 (do_wait+0xec)
: +func -92+ 3.360 task_stopped_code+0x10
(wait_consider_task+0xe4)
: +func -89+ 1.160 rt_read_unlock+0x10 (do_wait+0x194)
: +func -88 0.880 __rt_spin_unlock+0x10
(rt_read_unlock+0x2c)
: +func -87 0.880 rt_spin_lock_slowunlock+0x10
(__rt_spin_unlock+0x18)
: +func -86 1.000 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x1c)
: +func -85+ 1.760 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x88)
: +func -83 0.880 remove_wait_queue+0x10 (do_wait+0x114)
: +func -82 0.880 rt_spin_lock+0x10
(remove_wait_queue+0x20)
: +func -82 0.960 ipipe_root_only+0x10
(rt_spin_lock+0x1c)
: +func -81 0.920 rt_spin_lock_slowlock+0x14
(rt_spin_lock+0x24)
: +func -80 1.000 ipipe_root_only+0x10
(rt_spin_lock_slowlock+0x40)
: +func -79 1.000 __try_to_take_rt_mutex+0x14
(rt_spin_lock_slowlock+0x70)
: +func -78+ 1.680 ipipe_root_only+0x10
(rt_spin_lock_slowlock+0x238)
: +func -76 0.880 rt_spin_unlock+0x10
(remove_wait_queue+0x48)
: +func -75 0.880 rt_spin_lock_slowunlock+0x10
(rt_spin_unlock+0x18)
: +func -74 1.000 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x1c)
: +func -73+ 1.560 ipipe_root_only+0x10
(rt_spin_lock_slowunlock+0x88)
: +func -72+ 1.480 put_pid+0x10 (SyS_wait4+0xa0)
:| +func -70 0.840 __ipipe_bugon_irqs_enabled+0x10
(ret_fast_syscall+0x14)
:| +end 0x90000000 -69! 18.440 ret_fast_syscall+0x2c (<00120980>)
:| +begin 0x90000000 -51+ 2.240 vector_swi+0x3c (<0000b4f8>)
: +func -49+ 1.560 __ipipe_syscall_root+0x10
(vector_swi+0x74)
: +func -47+ 1.200 SyS_write+0x14 (ret_fast_syscall+0x0)
: +func -46+ 2.320 fget_light+0x10 (SyS_write+0x28)
: +func -44+ 2.640 vfs_write+0x14 (SyS_write+0x50)
: +func -41+ 2.640 rw_verify_area+0x14 (vfs_write+0x8c)
: +func -38+ 1.280 __sb_start_write+0x14 (vfs_write+0x1c8)
: +func -37 1.000 ipipe_root_only+0x10
(__sb_start_write+0x48)
: +func -36+ 1.920 ipipe_root_only+0x10
(__sb_start_write+0x70)
: +func -34+ 2.120 proc_reg_write+0x14 (vfs_write+0xcc)
:| +begin 0x80000001 -32+ 1.360 proc_reg_write+0xb8 (vfs_write+0xcc)
:| +end 0x80000001 -31+ 2.040 proc_reg_write+0xe0 (vfs_write+0xcc)
: +func -29+ 7.080 __ipipe_frozen_ctrl+0x14
(proc_reg_write+0x94)
: +func -22 0.920 _mutex_lock+0x10
(__ipipe_frozen_ctrl+0x9c)
: +func -21+ 1.080 rt_mutex_lock+0x10 (_mutex_lock+0x18)
: +func -20+ 1.440 ipipe_root_only+0x10
(rt_mutex_lock+0x1c)
: +func -18+ 1.080 rt_mutex_slowlock+0x14
(rt_mutex_lock+0x30)
: +func -17+ 1.800 ipipe_root_only+0x10
(rt_mutex_slowlock+0x38)
: +func -15+ 1.320 __try_to_take_rt_mutex+0x14
(rt_mutex_slowlock+0x74)
: +func -14+ 1.800 ipipe_root_only+0x10
(rt_mutex_slowlock+0x128)
: +func -12+ 1.240 ipipe_trace_frozen_reset+0x10
(__ipipe_frozen_ctrl+0xa0)
: +func -11+ 2.160 __ipipe_global_path_lock+0x10
(ipipe_trace_frozen_reset+0x18)
: +func -9+ 1.400 __ipipe_spin_lock_irqsave+0x10
(__ipipe_global_path_lock+0x1c)
:| +begin 0x80000001 -7+ 3.960 __ipipe_spin_lock_irqsave+0x5c
(__ipipe_global_path_lock+0x1c)
:| #func -3+ 1.680 __ipipe_spin_unlock_irqcomplete+0x10
(__ipipe_global_path_unlock+0x6c)
:| +end 0x80000001 -2+ 2.120 __ipipe_spin_unlock_irqcomplete+0x48
(__ipipe_global_path_unlock+0x6c)
< +freeze 0xffffffff 0 1.440 __ipipe_frozen_ctrl+0xb0
(proc_reg_write+0x94)
+func 1 1.200 _mutex_unlock+0x10
(__ipipe_frozen_ctrl+0xb8)
+func 2 0.920 rt_mutex_unlock+0x10
(_mutex_unlock+0x18)
+func 3 1.160 ipipe_root_only+0x10
(rt_mutex_unlock+0x1c)
+func 4 1.560 ipipe_root_only+0x10
(rt_mutex_unlock+0x88)
+func 6 1.280 unuse_pde+0x10 (proc_reg_write+0xa0)
| +begin 0x80000001 7 1.120 unuse_pde+0x58 (proc_reg_write+0xa0)
| +end 0x80000001 8 2.320 unuse_pde+0x6c (proc_reg_write+0xa0)
+func 11 1.240 __fsnotify_parent+0x14
(vfs_write+0x168)
+func 12 1.520 fsnotify+0x14 (vfs_write+0x184)
+func 13 0.000 __srcu_read_lock+0x10 (fsnotify+0x1d0)
~ #
Regards,
Christoph
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai