Gilles Chanteperdrix wrote:
> Felipe Castro wrote:
>> Hi ,
>>
>> I'm trying xenomai running on PXA270 Voipac module.
>> Acctually i have a problem when running the lantency test program.
>>
>> The module loads OK , but when i run latency program:
>>
>> [  110.874334] Xenomai: starting native API services.
>> [  282.865308] I-pipe: Detected illicit call from domain 'Xenomai'
>> [  282.865356]         into a service reserved for domain 'Linux' and below.
>> [  282.903226] [<c0023068>] (dump_stack+0x0/0x18) from [<c006cbcc>]
>> (ipipe_check_context+0xdc/0x100)
>> [  282.929809] [<c006caf0>] (ipipe_check_context+0x0/0x100) from
>> [<c0066168>] (module_address_lookup+0x34/0x108)
>> [  282.959374] [<c0066134>] (module_address_lookup+0x0/0x108) from
>> [<c00670e4>] (kallsyms_lookup+0x7c/0x80)
>> [  282.987650] [<c0067068>] (kallsyms_lookup+0x0/0x80) from [<c0067208>]
>> (sprint_symbol+0x38/0xb0)
>> [  283.013599] [<c00671d0>] (sprint_symbol+0x0/0xb0) from [<c00672a4>]
>> (__print_symbol+0x24/0x38)
>> [  283.039294]  r6:c03334f8 r5:c7035e24 r4:c02b5728
>> [  283.053066] [<c0067280>] (__print_symbol+0x0/0x38) from [<c007cfec>]
>> (xnpod_trap_fault+0xc8/0x258)
>> [  283.079818]  r5:c7040810 r4:c7035f40
>> [  283.090466] [<c007cf24>] (xnpod_trap_fault+0x0/0x258) from [<c0073b30>]
>> (xnarch_trap_fault+0x24/0x2c)
>> [  283.117967]  r6:c0330cc4 r5:c02f6c48 r4:c0332950
>> [  283.131742] [<c0073b0c>] (xnarch_trap_fault+0x0/0x2c) from [<c01dcd38>]
>> (exception_event+0x50/0x74)
>> [  283.158751] [<c01dcce8>] (exception_event+0x0/0x74) from [<c006bbac>]
>> (__ipipe_dispatch_event+0xdc/0x1e8)
>> [  283.187285]  r4:00000000
>> [  283.194805] [<c006bad0>] (__ipipe_dispatch_event+0x0/0x1e8) from
>> [<c001ee04>] (do_fpe+0x18/0x3c)
>> [  283.221016] I-pipe tracer log (100 points):
>> [  283.233469]  | +  func                    0 ipipe_trace_panic_freeze+0x10
>> (ipipe_check_context+0x5c)
>> [  283.260735]  | +  func                   -4 ipipe_check_context+0x10
>> (module_address_lookup+0x34)
>> [  283.287176]  | +  func                   -6 module_address_lookup+0x10
>> (kallsyms_lookup+0x7c)
>> [  283.312583]  | +  func                  -10 in_gate_area_no_task+0x10
>> (is_ksym_addr+0x34)
>> [  283.336956]  | +  func                  -13 is_ksym_addr+0x10
>> (kallsyms_lookup+0x38)
>> [  283.360036]  | +  func                  -15 kallsyms_lookup+0x14
>> (sprint_symbol+0x38)
>> [  283.383375]  | +  func                  -18 sprint_symbol+0x14
>> (__print_symbol+0x24)
>> [  283.406456]  | +  func                  -21 __print_symbol+0x14
>> (xnpod_trap_fault+0xc8)
>> [  283.430313]  | +  func                  -24 xnpod_trap_fault+0x14
>> (xnarch_trap_fault+0x24)
>> [  283.454943]  | +  func                  -27 xnarch_trap_fault+0x14
>> (exception_event+0x50)
>> [  283.479316]  | +  func                  -30 exception_event+0x10
>> (__ipipe_dispatch_event+0xdc)
>> [  283.504982]  | +  func                  -34 __ipipe_dispatch_event+0x14
>> (do_fpe+0x18)
>> [  283.528320]  | +  end     0x80000001    -45 __ipipe_dispatch_event+0x1c8
>> (__ipipe_syscall_root+0x80)
>> [  283.555562]  | +  begin   0x80000001    -48 __ipipe_dispatch_event+0x104
>> (__ipipe_syscall_root+0x80)
>> [  283.582778]  | +  end     0x80000000    -52
>> ipipe_unstall_pipeline_head+0x90 (xnshadow_harden+0x1a0)
>> [  283.610021]  | #  begin   0x80000000    -56
>> ipipe_unstall_pipeline_head+0x34 (xnshadow_harden+0x1a0)
>> [  283.637262]    #  func                  -58
>> ipipe_unstall_pipeline_head+0x10 (xnshadow_harden+0x1a0)
>> [  283.664477]    #  func                  -63 xnpod_switch_fpu+0x10
>> (xnshadow_harden+0x190)
>> [  283.688851]  | #  end     0x80000001    -66 __sched_text_start+0x6d0
>> (xnshadow_harden+0xa8)
>> [  283.713793]  | #  begin   0x80000001    -69 __sched_text_start+0x6b8
>> (xnshadow_harden+0xa8)
>> [  283.738707]  | #  end     0x80000000    -71 __sched_text_start+0x65c
>> (xnshadow_harden+0xa8)
>> [  283.763597]  | #  [  304] telnetd -1    -92 xnpod_schedule+0xb4
>> (xnpod_schedule_handler+0x54)
>> [  283.789056]  | #  func                  -95 xnpod_schedule+0x14
>> (xnpod_schedule_handler+0x54)
>> [  283.814463]  | #  func                  -98 xnpod_schedule_handler+0x10
>> (__ipipe_sync_stage+0x1b4)
>> [  283.841162]  | +  func                 -101 __ipipe_sync_stage+0x10
>> (ipipe_suspend_domain+0xa4)
>> [  283.867086]  | +  func                 -104 ipipe_suspend_domain+0x10
>> (__ipipe_walk_pipeline+0x74)
>> [  283.893783]  |   +func                 -108 __ipipe_walk_pipeline+0x10
>> (__ipipe_restore_pipeline_head+0xc4)
>> [  283.922809]  | * +func                 -111
>> __ipipe_restore_pipeline_head+0x10 (gatekeeper_thread+0x180)
>> [  283.951058]  | * +func                 -116 __ipipe_set_irq_pending+0x10
>> (__ipipe_dispatch_wired+0x7c)
>> [  283.978792]  | * +func                 -120 __ipipe_dispatch_wired+0x10
>> (__ipipe_handle_irq+0xa4)
>> [  284.005233]  | * +func                 -124 __ipipe_handle_irq+0x10
>> (ipipe_trigger_irq+0x7c)
>> [  284.030381]  | * +func                 -128 ipipe_trigger_irq+0x10
>> (xnpod_schedule+0x34)
>> [  284.054494]  | * +func                 -130 xnpod_schedule+0x14
>> (gatekeeper_thread+0x164)
>> [  284.078868]  | * +func                 -133 disengage_irq_shield+0x10
>> (gatekeeper_thread+0x160)
>> [  284.104792]  | * +[  342] display- 0   -142 xnpod_resume_thread+0x70
>> (gatekeeper_thread+0x15c)
>> [  284.130509]  | * +func                 -145 xnpod_resume_thread+0x14
>> (gatekeeper_thread+0x15c)
>> [  284.156173]  |   +begin   0x80000000   -147 gatekeeper_thread+0x140
>> (kthread+0x58)
>> [  284.178789]  |   +end     0x80000000   -150
>> __ipipe_restore_pipeline_head+0xd8 (rpi_pop+0x4cc)
>> [  284.204454]  | * +func                 -153
>> __ipipe_restore_pipeline_head+0x10 (rpi_pop+0x4cc)
>> [  284.230119]  |   +begin   0x80000000   -157 rpi_pop+0x38
>> (gatekeeper_thread+0x120)
>> [  284.252709]      +func                 -159 rpi_pop+0x14
>> (gatekeeper_thread+0x120)
>> [  284.275273]      +func                 -162 kthread_should_stop+0x10
>> (gatekeeper_thread+0xf8)
>> [  284.300680]      +func                 -165 ipipe_check_context+0x10
>> (__sched_text_start+0x750)
>> [  284.326603]      +func                 -168 finish_task_switch+0x10
>> (__sched_text_start+0x6e8)
>> [  284.352269]  |   +end     0x80000001   -170 __sched_text_start+0x6d0
>> (gatekeeper_thread+0xf4)
>> [  284.377701]  |   +begin   0x80000001   -173 __sched_text_start+0x6b8
>> (gatekeeper_thread+0xf4)
>> [  284.403133]  |   +end     0x80000000   -176 __sched_text_start+0x65c
>> (gatekeeper_thread+0xf4)
>> [  284.428565]  |   +func                 -180 ipipe_check_context+0x10
>> (__atomic_notifier_call_chain+0x68)
>> [  284.456841]  |   +func                 -182 iwmmxt_do+0x10
>> (notifier_call_chain+0x4c)
>> [  284.480180]  |   +func                 -185 nwfpe_notify+0x10
>> (notifier_call_chain+0x4c)
>> [  284.504321]  |   +func                 -188 notifier_call_chain+0x10
>> (__atomic_notifier_call_chain+0x5c)
>> [  284.532571]  |   +func                 -191 ipipe_check_context+0x10
>> (__atomic_notifier_call_chain+0x34)
>> [  284.560845]  |   +func                 -193
>> __atomic_notifier_call_chain+0x14 (atomic_notifier_call_chain+0x24)
>> [  284.590904]  |   +func                 -195
>> atomic_notifier_call_chain+0x14 (__switch_to+0x30)
>> [  284.616570]  |   +begin   0x80000000   -199 __sched_text_start+0x634
>> (xnshadow_harden+0xa8)
>> [  284.641486]  |   +end     0x80000001   -201 __sched_text_start+0x4a0
>> (xnshadow_harden+0xa8)
>> [  284.666375]  |   +begin   0x80000001   -204 __sched_text_start+0x484
>> (xnshadow_harden+0xa8)
>> [  284.691290]  |   +end     0x80000001   -206 __ipipe_dispatch_event+0x1c8
>> (__sched_text_start+0x44c)
>> [  284.718248]  |   +begin   0x80000001   -209 __ipipe_dispatch_event+0x104
>> (__sched_text_start+0x44c)
>> [  284.745206]  |   +end     0x80000000   -211
>> __ipipe_restore_pipeline_head+0xd8 (schedule_event+0xbb4)
>> [  284.772707]  | * +func                 -214
>> __ipipe_restore_pipeline_head+0x10 (schedule_event+0xbb4)
>> [  284.800180]  |   +begin   0x80000000   -216 schedule_event+0x6b0
>> (__ipipe_dispatch_event+0xdc)
>> [  284.825872]      +func                 -219 schedule_event+0x14
>> (__ipipe_dispatch_event+0xdc)
>> [  284.851278]  |   +end     0x80000001   -222 __ipipe_dispatch_event+0xc4
>> (__sched_text_start+0x44c)
>> [  284.878004]  |   +begin   0x80000001   -225 __ipipe_dispatch_event+0x40
>> (__sched_text_start+0x44c)
>> [  284.904727]      +func                 -227 __ipipe_dispatch_event+0x14
>> (__sched_text_start+0x44c)
>> [  284.931427]      +func                 -230 ipipe_check_context+0x10
>> (__sched_text_start+0x3c0)
>> [  284.957351]  |   +end     0x80000000   -232 __ipipe_unstall_root+0x64
>> (__sched_text_start+0x3b0)
>> [  284.983533]  |   #begin   0x80000000   -235 __ipipe_unstall_root+0x34
>> (__sched_text_start+0x3b0)
>> [  285.009741]      #func                 -237 __ipipe_unstall_root+0x10
>> (__sched_text_start+0x3b0)
>> [  285.035922]      #func                 -243 pick_next_task_rt+0x10
>> (__sched_text_start+0x250)
>> [  285.061329]      #func                 -247 check_spread+0x10
>> (put_prev_task_fair+0x3c)
>> [  285.085185]      #func                 -249 put_prev_task_fair+0x10
>> (__sched_text_start+0x214)
>> [  285.110850]      #func                 -254 calc_delta_mine+0x14
>> (update_curr+0xcc)
>> [  285.133672]      #func                 -257 update_curr+0x14
>> (dequeue_task_fair+0x2c)
>> [  285.157011]      #func                 -260 dequeue_task_fair+0x10
>> (dequeue_task+0x124)
>> [  285.180867]      #func                 -265 dequeue_task+0x14
>> (deactivate_task+0x2c)
>> [  285.203948]      #func                 -268 deactivate_task+0x10
>> (__sched_text_start+0x1f8)
>> [  285.228837]  |   #end     0x80000001   -271 __sched_text_start+0x18c
>> (xnshadow_harden+0xa8)
>> [  285.253753]  |   #begin   0x80000001   -273 __sched_text_start+0x174
>> (xnshadow_harden+0xa8)
>> [  285.278669]      #func                 -276 ipipe_check_context+0x10
>> (__sched_text_start+0x144)
>> [  285.304592]      #func                 -279 sched_clock+0x10
>> (sched_clock_cpu+0x30)
>> [  285.327415]      #func                 -281 sched_clock_cpu+0x10
>> (__sched_text_start+0x134)
>> [  285.352304]  |   #end     0x80000001   -283 __sched_text_start+0x128
>> (xnshadow_harden+0xa8)
>> [  285.377220]  |   +begin   0x80000001   -286 __sched_text_start+0x108
>> (xnshadow_harden+0xa8)
>> [  285.402135]      +func                 -288 ipipe_check_context+0x10
>> (__sched_text_start+0x94)
>> [  285.427801]      +func                 -290 preempt_schedule+0x10
>> (__sched_text_start+0x78)
>> [  285.452691]      +func                 -293 ipipe_check_context+0x10
>> (__sched_text_start+0x60)
>> [  285.478355]      +func                 -295 ipipe_check_context+0x10
>> (__sched_text_start+0x24)
>> [  285.504020]      +func                 -297 __sched_text_start+0x14
>> (xnshadow_harden+0xa8)
>> [  285.528653]      +func                 -300 preempt_schedule+0x10
>> (__wake_up_sync+0xdc)
>> [  285.552509]      +func                 -302 ipipe_check_context+0x10
>> (__wake_up_sync+0xc4)
>> [  285.577140]  |   +end     0x80000000   -304 __ipipe_unstall_root+0x64
>> (__ipipe_restore_root+0x64)
>> [  285.603580]  |   #begin   0x80000000   -306 __ipipe_unstall_root+0x34
>> (__ipipe_restore_root+0x64)
>> [  285.630021]      #func                 -308 __ipipe_unstall_root+0x10
>> (__ipipe_restore_root+0x64)
>> [  285.656461]      #func                 -311 __ipipe_restore_root+0x10
>> (__wake_up_sync+0xbc)
>> [  285.681351]      #func                 -313 preempt_schedule+0x10
>> (try_to_wake_up+0x138)
>> [  285.705466]      #func                 -315 ipipe_check_context+0x10
>> (try_to_wake_up+0x120)
>> [  285.730355]  |   #end     0x80000001   -318 __ipipe_restore_root+0x58
>> (try_to_wake_up+0x118)
>> [  285.755503]  |   #begin   0x80000001   -320 __ipipe_restore_root+0x38
>> (try_to_wake_up+0x118)
>> [  285.780689] invalid use of FPU in Xenomai context at 0x93e0
>> [  285.797290] Xenomai: Switching display-340 to secondary mode after
>> exception #5 from user-space at 0x93e0 (pid 342)
>> [  285.829719] Xenomai: registered exported object dispsem-342 (semaphores)
>>
>> Any idea about ?
> 
> Yes, it is the same problem as was posted a few days ago: the FPU
> support for PXA is not implemented. So, you should apply the patch that
> was posted a few days ago. The backtrace is due to the fact that we use
> print_symbol, which is verboten in real-time context, this needs to be
> fixed.
> 
> BUT, and that is a capital "but", be aware that when latency or any

other user-space real-time application which will use FPU while in
primary mode will switch to secondary mode, which will induce big latencies.

> So, if you do not want the high latencies, you are probably better off
> compiling real-time applications with -msoft-float.
> 
> 


-- 
                                            Gilles.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to