On Mon, Nov 17, 2014 at 09:27:54PM +0100, Gilles Chanteperdrix wrote:
> On Mon, Nov 17, 2014 at 03:24:25PM -0500, Lennart Sorensen wrote:
> > On Mon, Nov 17, 2014 at 09:14:35PM +0100, Gilles Chanteperdrix wrote:
> > > Well, have you tried triggering an I-pipe tracer trace to see what
> > > happens in the interval?
> > 
> > I have never used the tracer. I suppose I should learn how.
> 
> It is not very complicated. I have already been told on this list
> that it was not well documented. I do not think so, but I let you
> judge of that.
> 
> http://xenomai.org/2014/06/using-the-i-pipe-tracer/

So here is what I got triggering a couple of times on the IRQ.  Not
entirely sure how to make sense of it, although there is one huge number.

back_trace_points:100
enable:1
frozen:I-pipe frozen back-tracing service on 3.12-1-am5726/ipipe release #2
frozen:------------------------------------------------------------
frozen:CPU: 0, Freeze: 2415647132 cycles, Trace Points: 100 (+10)
frozen:Calibrated minimum trace-point overhead: 0.428 us
frozen: +----- Hard IRQs ('|': locked)
frozen: |+-- Xenomai
frozen: ||+- Linux ('*': domain stalled, '+': current, '#': current+stalled)
frozen: |||                       +---------- Delay flag ('+': > 1 us, '!': > 
10 us)
frozen: |||                       |        +- NMI noise ('N')
frozen: |||                       |        |
frozen:   Type    User Val.   Time    Delay  Function (Parent)
frozen::    #func                -662     0.857  arch_cpu_idle_enter+0x10 
(cpu_startup_entry+0xb8)
frozen::    #func                -661     1.000  ledtrig_cpu+0x10 
(arch_cpu_idle_enter+0x1c)
frozen::    #func                -660     1.000  led_trigger_event+0x10 
(ledtrig_cpu+0x58)
frozen::    #func                -659+   1.285  _raw_read_lock+0x10 
(led_trigger_event+0x30)
frozen::    #func                -658     0.857  
tick_check_broadcast_expired+0x10 (cpu_startup_entry+0x40)
frozen::    #func                -657     1.000  rcu_idle_enter+0x10 
(cpu_startup_entry+0x58)
frozen::    #func                -656     0.857  ipipe_test_and_stall_root+0x10 
(rcu_idle_enter+0x18)
frozen::    #func                -655     0.857  ipipe_root_only+0x14 
(ipipe_test_and_stall_root+0x18)
frozen::|   #begin   0x80000001  -654+   1.428  ipipe_root_only+0xb8 
(ipipe_test_and_stall_root+0x18)
frozen::|   #end     0x80000001  -653     1.000  ipipe_root_only+0xa4 
(ipipe_test_and_stall_root+0x18)
frozen::|   #begin   0x80000001  -652     1.000  ipipe_test_and_stall_root+0x84 
(rcu_idle_enter+0x18)
frozen::|   #end     0x80000001  -651     1.000  ipipe_test_and_stall_root+0x70 
(rcu_idle_enter+0x18)
frozen::    #func                -650     1.000  
rcu_eqs_enter_common.isra.47+0x14 (rcu_idle_enter+0x84)
frozen::    #func                -649     1.000  arch_cpu_idle+0x10 
(cpu_startup_entry+0x5c)
frozen::|   #begin   0x80000000  -648     1.000  arch_cpu_idle+0xa4 
(cpu_startup_entry+0x5c)
frozen::|   +func                -647! 555.142  omap_default_idle+0x10 
(arch_cpu_idle+0x90)      <-- What ever is that?  That looks huge.
frozen::|   +end     0x80000000   -92+   1.142  omap_default_idle+0x40 
(arch_cpu_idle+0x90)
frozen::|   +begin   0x90000000   -90     1.000  __irq_svc+0x44 
(omap_default_idle+0x44)
frozen::|   +func                 -89     1.000  gic_handle_irq+0x10 
(__irq_svc+0x58)
frozen::|   +func                 -88     1.000  irq_find_mapping+0x14 
(gic_handle_irq+0x30)
frozen::|   +func                 -87     1.000  __ipipe_grab_irq+0x10 
(gic_handle_irq+0x38)
frozen::|   +begin   0x0000001b   -86     1.000  __ipipe_grab_irq+0x50 
(gic_handle_irq+0x38)
frozen::|   +func                 -85     1.000  __ipipe_dispatch_irq+0x14 
(__ipipe_grab_irq+0x74)
frozen::|   +func                 -84     1.000  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xd4)
frozen::|   +func                 -83     1.000  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xe4)
frozen::|   +func                 -82+   1.142  __ipipe_ack_hrtimer_irq+0x10 
(__ipipe_dispatch_irq+0x70)
frozen::|   +func                 -81     0.857  __ipipe_ack_fasteoi_irq+0x10 
(__ipipe_ack_hrtimer_irq+0x60)
frozen::|   +func                 -80     0.857  gic_hold_irq+0x10 
(__ipipe_ack_fasteoi_irq+0x24)
frozen::|   +func                 -80+   2.428  __ipipe_spin_lock_irqsave+0x10 
(gic_hold_irq+0x34)
frozen::|   #func                 -77+   1.285  
__ipipe_spin_unlock_irqrestore+0x10 (gic_hold_irq+0x98)
frozen::|   +func                 -76     1.000  arch_itimer_ack_virt+0x10 
(__ipipe_ack_hrtimer_irq+0x70)
frozen::|   +func                 -75     0.857  __ipipe_end_fasteoi_irq+0x10 
(__ipipe_ack_hrtimer_irq+0x88)
frozen::|   +func                 -74     1.000  gic_release_irq+0x10 
(__ipipe_end_fasteoi_irq+0x2c)
frozen::|   +func                 -73+   1.142  __ipipe_spin_lock_irqsave+0x10 
(gic_release_irq+0x34)
frozen::|   #func                 -72+   2.000  
__ipipe_spin_unlock_irqrestore+0x10 (gic_release_irq+0x74)
frozen::|  # func                 -70+   1.285  xnintr_clock_handler+0x14 
[xeno_nucleus] (__ipipe_dispatch_irq+0x270)
frozen::|  # func                 -69+   3.571  __xnlock_spin+0x14 
[xeno_nucleus] (xnintr_clock_handler+0x420 [xeno_nucleus])
frozen::|  # func                 -65     1.000  xntimer_tick_aperiodic+0x14 
[xeno_nucleus] (xnintr_clock_handler+0x1e0 [xeno_nucleus])
frozen::|  # func                 -64     0.857  xntimer_next_local_shot+0x10 
[xeno_nucleus] (xntimer_tick_aperiodic+0x288 [xeno_nucleus])
frozen::|  # event   tick@-50     -63     0.857  xntimer_next_local_shot+0xb4 
[xeno_nucleus] (xntimer_tick_aperiodic+0x288 [xeno_nucleus])
frozen::|  # func                 -62     1.000  ipipe_timer_set+0x10 
(xntimer_next_local_shot+0xbc [xeno_nucleus])
frozen::|  # func                 -61+   1.428  
arch_timer_set_next_event_virt+0x10 (ipipe_timer_set+0x7c)
frozen::|  # func                 -60     1.000  xnintr_host_tick+0x10 
[xeno_nucleus] (xnintr_clock_handler+0x368 [xeno_nucleus])
frozen::|  # func                 -59+   1.571  __ipipe_set_irq_pending+0x10 
(xnintr_host_tick+0x54 [xeno_nucleus])
frozen::|   +func                 -57+   1.428  __ipipe_do_sync_pipeline+0x14 
(__ipipe_dispatch_irq+0x33c)
frozen::|   +func                 -56+   1.142  __ipipe_do_sync_stage+0x14 
(__ipipe_do_sync_pipeline+0x140)
frozen::|   #end     0x80000000   -55     1.000  __ipipe_do_sync_stage+0x294 
(__ipipe_do_sync_pipeline+0x140)
frozen::    #func                 -54     0.857  __ipipe_do_IRQ+0x10 
(__ipipe_do_sync_stage+0x1e8)
frozen::    #func                 -53     1.000  handle_IRQ+0x10 
(__ipipe_do_IRQ+0x40)
frozen::    #func                 -52     0.857  irq_enter+0x10 
(handle_IRQ+0x54)
frozen::    #func                 -51     0.857  rcu_irq_enter+0x10 
(irq_enter+0x28)
frozen::    #func                 -50     0.857  ipipe_test_and_stall_root+0x10 
(rcu_irq_enter+0x18)
frozen::    #func                 -49     1.000  ipipe_root_only+0x14 
(ipipe_test_and_stall_root+0x18)
frozen::|   #begin   0x80000001   -48+   1.285  ipipe_root_only+0xb8 
(ipipe_test_and_stall_root+0x18)
frozen::|   #end     0x80000001   -47+   1.142  ipipe_root_only+0xa4 
(ipipe_test_and_stall_root+0x18)
frozen::|   #begin   0x90000000   -46     0.857  __irq_svc+0x44 
(ipipe_root_only+0xa8)
frozen::|   #func                 -45     1.000  gic_handle_irq+0x10 
(__irq_svc+0x58)
frozen::|   #func                 -44     0.857  irq_find_mapping+0x14 
(gic_handle_irq+0x30)
frozen::|   #func                 -43+   1.142  __ipipe_grab_irq+0x10 
(gic_handle_irq+0x38)
frozen::|   #begin   0x0000001b   -42     0.857  __ipipe_grab_irq+0x50 
(gic_handle_irq+0x38)
frozen::|   #func                 -41     1.000  __ipipe_dispatch_irq+0x14 
(__ipipe_grab_irq+0x74)
frozen::|   #func                 -40     1.000  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xd4)
frozen::|   #func                 -39     1.000  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xe4)
frozen::|   #func                 -38     0.857  __ipipe_ack_hrtimer_irq+0x10 
(__ipipe_dispatch_irq+0x70)
frozen::|   #func                 -37     1.000  __ipipe_ack_fasteoi_irq+0x10 
(__ipipe_ack_hrtimer_irq+0x60)
frozen::|   #func                 -36     0.857  gic_hold_irq+0x10 
(__ipipe_ack_fasteoi_irq+0x24)
frozen::|   #func                 -35+   1.142  __ipipe_spin_lock_irqsave+0x10 
(gic_hold_irq+0x34)
frozen::|   #func                 -34+   1.142  
__ipipe_spin_unlock_irqrestore+0x10 (gic_hold_irq+0x98)
frozen::|   #func                 -33     0.857  arch_itimer_ack_virt+0x10 
(__ipipe_ack_hrtimer_irq+0x70)
frozen::|   #func                 -32     1.000  __ipipe_end_fasteoi_irq+0x10 
(__ipipe_ack_hrtimer_irq+0x88)
frozen::|   #func                 -31     0.714  gic_release_irq+0x10 
(__ipipe_end_fasteoi_irq+0x2c)
frozen::|   #func                 -31+   1.285  __ipipe_spin_lock_irqsave+0x10 
(gic_release_irq+0x34)
frozen::|   #func                 -29+   1.857  
__ipipe_spin_unlock_irqrestore+0x10 (gic_release_irq+0x74)
frozen::|  #*func                 -27+   1.142  xnintr_clock_handler+0x14 
[xeno_nucleus] (__ipipe_dispatch_irq+0x270)
frozen::|  #*func                 -26     0.857  xntimer_tick_aperiodic+0x14 
[xeno_nucleus] (xnintr_clock_handler+0x1e0 [xeno_nucleus])
frozen::|  #*func                 -25     0.857  xnthread_timeout_handler+0x10 
[xeno_nucleus] (xntimer_tick_aperiodic+0x13c [xeno_nucleus])
frozen::|  #*func                 -25     1.000  xnpod_resume_thread+0x14 
[xeno_nucleus] (xnthread_timeout_handler+0x34 [xeno_nucleus])
frozen::|  #*[ 5197] MAC Poll 0   -24+   1.285  xnpod_resume_thread+0x124 
[xeno_nucleus] (xnthread_timeout_handler+0x34 [xeno_nucleus])
frozen::|  #*func                 -22     0.857  xntimer_next_local_shot+0x10 
[xeno_nucleus] (xntimer_tick_aperiodic+0x288 [xeno_nucleus])
frozen::|  #*event   tick@11992   -21     0.857  xntimer_next_local_shot+0xb4 
[xeno_nucleus] (xntimer_tick_aperiodic+0x288 [xeno_nucleus])
frozen::|  #*func                 -21     1.000  ipipe_timer_set+0x10 
(xntimer_next_local_shot+0xbc [xeno_nucleus])
frozen::|  #*func                 -20+   1.142  
arch_timer_set_next_event_virt+0x10 (ipipe_timer_set+0x7c)
frozen::|  #*func                 -18+   1.428  __xnpod_schedule+0x14 
[xeno_nucleus] (xnintr_clock_handler+0x408 [xeno_nucleus])
frozen::|  #*[    0] -<?>-   -1   -17     1.000  __xnpod_schedule+0x194 
[xeno_nucleus] (xnintr_clock_handler+0x408 [xeno_nucleus])
frozen::|  #*func                 -16     1.000  xnsched_pick_next+0x10 
[xeno_nucleus] (__xnpod_schedule+0x328 [xeno_nucleus])
frozen::|  #*func                 -15     0.857  omap4_mute_pic+0x10 
(__xnpod_schedule+0x714 [xeno_nucleus])
frozen::|  #*func                 -14+   1.142  gic_mute+0x10 
(omap4_mute_pic+0x1c)
frozen::|  #*func                 -13+   2.000  _get_gpio_irqbank_mask+0x10 
(omap4_mute_pic+0x58)
frozen::|  #*[ 5197] MAC Poll 0   -11+   1.428  __xnpod_schedule+0x604 
[xeno_nucleus] (xnpod_suspend_thread+0x494 [xeno_nucleus])
frozen::|  #*func                 -10+   1.142  __ipipe_restore_head+0x10 
(xnpod_suspend_thread+0x1c4 [xeno_nucleus])
frozen::|  +*end     0x80000000    -8     1.000  __ipipe_restore_head+0xd8 
(xnpod_suspend_thread+0x1c4 [xeno_nucleus])
frozen::|  +*begin   0x90000000    -7     1.000  __irq_svc+0x44 
(__ipipe_restore_head+0xdc)
frozen::|  +*func                  -6     0.857  gic_handle_irq+0x10 
(__irq_svc+0x58)
frozen::|  +*func                  -6     1.000  irq_find_mapping+0x14 
(gic_handle_irq+0x30)
frozen::|  +*func                  -5     0.857  __ipipe_grab_irq+0x10 
(gic_handle_irq+0x38)
frozen::|  +*begin   0x00000043    -4     1.000  __ipipe_grab_irq+0x50 
(gic_handle_irq+0x38)
frozen::|  +*func                  -3     0.857  __ipipe_dispatch_irq+0x14 
(__ipipe_grab_irq+0x74)
frozen::|  +*func                  -2     1.000  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xd4)
frozen::|  +*func                  -1+   1.285  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xe4)
frozen:<|  +*func                   0     1.142  gpio_irq_handler+0x14 
(__ipipe_dispatch_irq+0x70)
frozen: |  +*func                   1     1.571  irq_to_desc+0x10 
(gpio_irq_handler+0x38)
frozen: |  +*func                   2     1.000  irq_find_mapping+0x14 
(gpio_irq_handler+0x190)
frozen: |  +*begin   0x0000018e     3     0.857  gpio_irq_handler+0x198 
(__ipipe_dispatch_irq+0x70)
frozen: |  +*func                   4     0.857  __ipipe_dispatch_irq+0x14 
(gpio_irq_handler+0x1a4)
frozen: |  +*func                   5     1.000  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xd4)
frozen: |  +*func                   6     1.142  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xe4)
frozen: |  +*func                   7     1.142  __ipipe_ack_level_irq+0x10 
(__ipipe_dispatch_irq+0x70)
frozen: |  +*func                   8     0.857  gpio_mask_ack_irq+0x10 
(__ipipe_ack_level_irq+0x30)
frozen: |  +*func                   9     3.428  __ipipe_spin_lock_irqsave+0x10 
(gpio_mask_ack_irq+0x30)
frozen: |  #*func                  13     0.000  
__ipipe_spin_unlock_irqrestore+0x10 (gpio_mask_ack_irq+0x210)
max:I-pipe worst-case tracing service on 3.12-1-am5726/ipipe release #2
max:-------------------------------------------------------------
max:CPU: 0, Begin: 1137045851 cycles, Trace Points: 3 (-10/+1), Length: 617 us
max:Calibrated minimum trace-point overhead: 0.428 us
max: +----- Hard IRQs ('|': locked)
max: |+-- Xenomai
max: ||+- Linux ('*': domain stalled, '+': current, '#': current+stalled)
max: |||                          +---------- Delay flag ('+': > 1 us, '!': > 
10 us)
max: |||                          |        +- NMI noise ('N')
max: |||                          |        |
max:      Type    User Val.   Time    Delay  Function (Parent)
max:     #func                 -10        1.000  
tick_check_broadcast_expired+0x10 (cpu_startup_entry+0x40)
max:     #func                  -9        0.857  rcu_idle_enter+0x10 
(cpu_startup_entry+0x58)
max:     #func                  -8        0.857  ipipe_test_and_stall_root+0x10 
(rcu_idle_enter+0x18)
max:     #func                  -7        1.000  ipipe_root_only+0x14 
(ipipe_test_and_stall_root+0x18)
max: |   #begin   0x80000001    -6        1.285  ipipe_root_only+0xb8 
(ipipe_test_and_stall_root+0x18)
max: |   #end     0x80000001    -5        1.000  ipipe_root_only+0xa4 
(ipipe_test_and_stall_root+0x18)
max: |   #begin   0x80000001    -4        1.142  ipipe_test_and_stall_root+0x84 
(rcu_idle_enter+0x18)
max: |   #end     0x80000001    -3        1.000  ipipe_test_and_stall_root+0x70 
(rcu_idle_enter+0x18)
max:     #func                  -2        1.000  
rcu_eqs_enter_common.isra.47+0x14 (rcu_idle_enter+0x84)
max:     #func                  -1        1.000  arch_cpu_idle+0x10 
(cpu_startup_entry+0x5c)
max:>|   #begin   0x80000000     0        1.000  arch_cpu_idle+0xa4 
(cpu_startup_entry+0x5c)
max::|   +func                   1! 616.428  omap_default_idle+0x10 
(arch_cpu_idle+0x90)
max:<|   +end     0x80000000   617        1.142  omap_default_idle+0x40 
(arch_cpu_idle+0x90)
max: |   +begin   0x90000000   618        0.000  __irq_svc+0x44 
(omap_default_idle+0x44)
post_trace_points:10
pre_trace_points:10
trigger:gpio_irq_handler+0x0/0x298
verbose:1

-- 
Len Sorensen

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to