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

Reply via email to