On Mon, Nov 17, 2014 at 10:54:58PM +0100, Gilles Chanteperdrix wrote:
> On Mon, Nov 17, 2014 at 04:47:34PM -0500, Lennart Sorensen wrote:
> > 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.
> 
> As the name suggests, it means that the CPU remains idle for 500us.
> You know, when the cpu load is not 100%, this is what the cpu is
> doing the rest of the time, executing the wfi instruction to wait
> for the next interrupt.
> 
> > frozen::|   +end     0x80000000   -92+   1.142 omap_default_idle+0x40 
> > (arch_cpu_idle+0x90)
>   (...)
> > 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)
> 
> 
> So, the end of the trace is executing gpio_mask_ack_irq. Trace is
> to short. It stops just when things were beginning to become
> interesting. Please increase the number of trace points.

Good to know.  Will increase it.

I increases it to 100 and get this:

I-pipe frozen back-tracing service on 3.12-1-am5726/ipipe release #2
------------------------------------------------------------
CPU: 0, Freeze: 2472048413 cycles, Trace Points: 100 (+100)
Calibrated minimum trace-point overhead: 0.428 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                -104    0.857  internal_add_timer+0x10 
(mod_timer+0x10c)
:    #func                -103    1.000  __internal_add_timer+0x10 
(internal_add_timer+0x20)
:    #func                -102    0.857  __ipipe_spin_unlock_debug+0x10 
(mod_timer+0x114)
:    #func                -102    1.000  _raw_spin_unlock_irqrestore+0x10 
(mod_timer+0x120)
:    #func                -101    1.000  ipipe_unstall_root+0x10 
(_raw_spin_unlock_irqrestore+0x38)
:|   #begin   0x80000000  -100    1.000  ipipe_unstall_root+0x90 
(_raw_spin_unlock_irqrestore+0x38)
:|   #func                 -99+   1.428  ipipe_root_only+0x14 
(ipipe_unstall_root+0x24)
:|   +end     0x80000000   -97    1.000  ipipe_unstall_root+0x7c 
(_raw_spin_unlock_irqrestore+0x38)
:    +func                 -96    1.000  _raw_spin_lock_irq+0x10 
(run_timer_softirq+0x1f4)
:    +func                 -95    1.000  ipipe_stall_root+0x10 
(_raw_spin_lock_irq+0x1c)
:    +func                 -94    0.857  ipipe_root_only+0x14 
(ipipe_stall_root+0x18)
:|   +begin   0x80000001   -93+   1.285  ipipe_root_only+0xb8 
(ipipe_stall_root+0x18)
:|   +end     0x80000001   -92    1.000  ipipe_root_only+0xa4 
(ipipe_stall_root+0x18)
:|   +begin   0x80000001   -91+   1.142  ipipe_stall_root+0x7c 
(_raw_spin_lock_irq+0x1c)
:|   #end     0x80000001   -90+   1.142  ipipe_stall_root+0x6c 
(_raw_spin_lock_irq+0x1c)
:    #func                 -89    1.000  ipipe_unstall_root+0x10 
(run_timer_softirq+0x1d0)
:|   #begin   0x80000000   -88    0.857  ipipe_unstall_root+0x90 
(run_timer_softirq+0x1d0)
:|   #func                 -87+   1.428  ipipe_root_only+0x14 
(ipipe_unstall_root+0x24)
:|   +end     0x80000000   -85+   1.142  ipipe_unstall_root+0x7c 
(run_timer_softirq+0x1d0)
:    +func                 -84    0.857  rcu_bh_qs+0x10 (__do_softirq+0x134)
:    +func                 -83    0.857  ipipe_stall_root+0x10 
(__do_softirq+0x148)
:    +func                 -83    1.000  ipipe_root_only+0x14 
(ipipe_stall_root+0x18)
:|   +begin   0x80000001   -82+   1.285  ipipe_root_only+0xb8 
(ipipe_stall_root+0x18)
:|   +end     0x80000001   -80    1.000  ipipe_root_only+0xa4 
(ipipe_stall_root+0x18)
:|   +begin   0x80000001   -79+   1.142  ipipe_stall_root+0x7c 
(__do_softirq+0x148)
:|   #end     0x80000001   -78    1.000  ipipe_stall_root+0x6c 
(__do_softirq+0x148)
:    #func                 -77    1.000  __local_bh_enable+0x10 
(__do_softirq+0x1a8)
:    #func                 -76    0.857  ipipe_test_root+0x10 
(__local_bh_enable+0x40)
:|   #begin   0x80000001   -75+   1.142  ipipe_test_root+0x78 
(__local_bh_enable+0x40)
:|   #end     0x80000001   -74    1.000  ipipe_test_root+0x64 
(__local_bh_enable+0x40)
:    #func                 -73    0.857  ipipe_root_only+0x14 
(__local_bh_enable+0x4c)
:|   #begin   0x80000001   -72+   1.285  ipipe_root_only+0xb8 
(__local_bh_enable+0x4c)
:|   #end     0x80000001   -71    1.000  ipipe_root_only+0xa4 
(__local_bh_enable+0x4c)
:    #func                 -70    1.000  rcu_irq_exit+0x10 (irq_exit+0x84)
:    #func                 -69    0.857  ipipe_test_and_stall_root+0x10 
(rcu_irq_exit+0x18)
:    #func                 -68    1.000  ipipe_root_only+0x14 
(ipipe_test_and_stall_root+0x18)
:|   #begin   0x80000001   -67+   1.285  ipipe_root_only+0xb8 
(ipipe_test_and_stall_root+0x18)
:|   #end     0x80000001   -66    1.000  ipipe_root_only+0xa4 
(ipipe_test_and_stall_root+0x18)
:|   #begin   0x80000001   -65    1.000  ipipe_test_and_stall_root+0x84 
(rcu_irq_exit+0x18)
:|   #end     0x80000001   -64    1.000  ipipe_test_and_stall_root+0x70 
(rcu_irq_exit+0x18)
:    #func                 -63+   1.142  rcu_eqs_enter_common.isra.47+0x14 
(rcu_irq_exit+0x84)
:|   #begin   0x80000000   -62+   1.285  __ipipe_do_sync_stage+0x288 
(__ipipe_do_sync_pipeline+0x140)
:|   +end     0x0000001b   -60    0.857  __ipipe_grab_irq+0x7c 
(gic_handle_irq+0x38)
:|   +func                 -60    0.857  __ipipe_exit_irq+0x10 
(__ipipe_grab_irq+0x84)
:|   +func                 -59+   1.142  __ipipe_check_root_interruptible+0x10 
(__irq_svc+0x5c)
:|   +func                 -58+   1.142  ipipe_test_root+0x10 
(__ipipe_check_root_interruptible+0x60)
:|   +func                 -56    1.000  __ipipe_bugon_irqs_enabled+0x10 
(__ipipe_fast_svc_irq_exit+0x4)
:|   +end     0x90000000   -55    1.000  __ipipe_fast_svc_irq_exit+0x18 
(omap_default_idle+0x44)
:    +func                 -54    1.000  ipipe_unstall_root+0x10 
(arch_cpu_idle+0x94)
:|   +begin   0x80000000   -53    0.857  ipipe_unstall_root+0x90 
(arch_cpu_idle+0x94)
:|   +func                 -53+   1.571  ipipe_root_only+0x14 
(ipipe_unstall_root+0x24)
:|   +end     0x80000000   -51    1.000  ipipe_unstall_root+0x7c 
(arch_cpu_idle+0x94)
:    +func                 -50    0.857  ipipe_test_root+0x10 
(cpu_startup_entry+0x60)
:|   +begin   0x80000001   -49+   1.142  ipipe_test_root+0x78 
(cpu_startup_entry+0x60)
:|   +end     0x80000001   -48+   1.142  ipipe_test_root+0x64 
(cpu_startup_entry+0x60)
:|   +begin   0x90000000   -47    1.000  __irq_svc+0x44 (ipipe_test_root+0x68)
:|   +func                 -46    0.857  gic_handle_irq+0x10 (__irq_svc+0x58)
:|   +func                 -45    1.000  irq_find_mapping+0x14 
(gic_handle_irq+0x30)
:|   +func                 -44    1.000  __ipipe_grab_irq+0x10 
(gic_handle_irq+0x38)
:|   +begin   0x0000001b   -43    1.000  __ipipe_grab_irq+0x50 
(gic_handle_irq+0x38)
:|   +func                 -42    1.000  __ipipe_dispatch_irq+0x14 
(__ipipe_grab_irq+0x74)
:|   +func                 -41    1.000  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xd4)
:|   +func                 -40    1.000  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xe4)
:|   +func                 -39    1.000  __ipipe_ack_hrtimer_irq+0x10 
(__ipipe_dispatch_irq+0x70)
:|   +func                 -38    1.000  __ipipe_ack_fasteoi_irq+0x10 
(__ipipe_ack_hrtimer_irq+0x60)
:|   +func                 -37    0.857  gic_hold_irq+0x10 
(__ipipe_ack_fasteoi_irq+0x24)
:|   +func                 -36+   1.142  __ipipe_spin_lock_irqsave+0x10 
(gic_hold_irq+0x34)
:|   #func                 -35+   1.285  __ipipe_spin_unlock_irqrestore+0x10 
(gic_hold_irq+0x98)
:|   +func                 -34    1.000  arch_itimer_ack_virt+0x10 
(__ipipe_ack_hrtimer_irq+0x70)
:|   +func                 -33    0.857  __ipipe_end_fasteoi_irq+0x10 
(__ipipe_ack_hrtimer_irq+0x88)
:|   +func                 -32    1.000  gic_release_irq+0x10 
(__ipipe_end_fasteoi_irq+0x2c)
:|   +func                 -31+   1.142  __ipipe_spin_lock_irqsave+0x10 
(gic_release_irq+0x34)
:|   #func                 -30+   1.857  __ipipe_spin_unlock_irqrestore+0x10 
(gic_release_irq+0x74)
:|  # func                 -28+   1.285  xnintr_clock_handler+0x14 
[xeno_nucleus] (__ipipe_dispatch_irq+0x270)
:|  # func                 -27    0.857  xntimer_tick_aperiodic+0x14 
[xeno_nucleus] (xnintr_clock_handler+0x1e0 [xeno_nucleus])
:|  # func                 -26    0.857  xnthread_timeout_handler+0x10 
[xeno_nucleus] (xntimer_tick_aperiodic+0x13c [xeno_nucleus])
:|  # func                 -25+   1.142  xnpod_resume_thread+0x14 
[xeno_nucleus] (xnthread_timeout_handler+0x34 [xeno_nucleus])
:|  # [ 5285] MAC Poll 0   -24+   1.285  xnpod_resume_thread+0x124 
[xeno_nucleus] (xnthread_timeout_handler+0x34 [xeno_nucleus])
:|  # func                 -22    0.857  xntimer_next_local_shot+0x10 
[xeno_nucleus] (xntimer_tick_aperiodic+0x288 [xeno_nucleus])
:|  # event   tick@16049   -22    0.857  xntimer_next_local_shot+0xb4 
[xeno_nucleus] (xntimer_tick_aperiodic+0x288 [xeno_nucleus])
:|  # func                 -21+   1.142  ipipe_timer_set+0x10 
(xntimer_next_local_shot+0xbc [xeno_nucleus])
:|  # func                 -20+   1.285  arch_timer_set_next_event_virt+0x10 
(ipipe_timer_set+0x7c)
:|  # func                 -18+   1.285  __xnpod_schedule+0x14 [xeno_nucleus] 
(xnintr_clock_handler+0x408 [xeno_nucleus])
:|  # [    0] -<?>-   -1   -17    1.000  __xnpod_schedule+0x194 [xeno_nucleus] 
(xnintr_clock_handler+0x408 [xeno_nucleus])
:|  # func                 -16    1.000  xnsched_pick_next+0x10 [xeno_nucleus] 
(__xnpod_schedule+0x328 [xeno_nucleus])
:|  # func                 -15    0.857  omap4_mute_pic+0x10 
(__xnpod_schedule+0x714 [xeno_nucleus])
:|  # func                 -14+   1.285  gic_mute+0x10 (omap4_mute_pic+0x1c)
:|  # func                 -13+   1.857  _get_gpio_irqbank_mask+0x10 
(omap4_mute_pic+0x58)
:|  # [ 5285] MAC Poll 0   -11+   1.571  __xnpod_schedule+0x604 [xeno_nucleus] 
(xnpod_suspend_thread+0x494 [xeno_nucleus])
:|  # func                  -9    1.000  __ipipe_restore_head+0x10 
(xnpod_suspend_thread+0x1c4 [xeno_nucleus])
:|  + end     0x80000000    -8    1.000  __ipipe_restore_head+0xd8 
(xnpod_suspend_thread+0x1c4 [xeno_nucleus])
:|  + begin   0x90000000    -7    1.000  __irq_svc+0x44 
(__ipipe_restore_head+0xdc)
:|  + func                  -6    1.000  gic_handle_irq+0x10 (__irq_svc+0x58)
:|  + func                  -5    0.857  irq_find_mapping+0x14 
(gic_handle_irq+0x30)
:|  + func                  -5    1.000  __ipipe_grab_irq+0x10 
(gic_handle_irq+0x38)
:|  + begin   0x00000043    -4    1.000  __ipipe_grab_irq+0x50 
(gic_handle_irq+0x38)
:|  + func                  -3    0.857  __ipipe_dispatch_irq+0x14 
(__ipipe_grab_irq+0x74)
:|  + func                  -2    1.000  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xd4)
:|  + func                  -1+   1.142  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xe4)
<|  + func                   0    1.142  gpio_irq_handler+0x14 
(__ipipe_dispatch_irq+0x70)
 |  + func                   1    1.571  irq_to_desc+0x10 
(gpio_irq_handler+0x38)
 |  + func                   2    1.000  irq_find_mapping+0x14 
(gpio_irq_handler+0x190)
 |  + begin   0x0000018e     3    0.857  gpio_irq_handler+0x198 
(__ipipe_dispatch_irq+0x70)
 |  + func                   4    0.857  __ipipe_dispatch_irq+0x14 
(gpio_irq_handler+0x1a4)
 |  + func                   5    1.142  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xd4)
 |  + func                   6    1.142  irq_to_desc+0x10 
(__ipipe_dispatch_irq+0xe4)
 |  + func                   7    1.000  __ipipe_ack_level_irq+0x10 
(__ipipe_dispatch_irq+0x70)
 |  + func                   8    1.000  gpio_mask_ack_irq+0x10 
(__ipipe_ack_level_irq+0x30)
 |  + func                   9    3.571  __ipipe_spin_lock_irqsave+0x10 
(gpio_mask_ack_irq+0x30)
 |  # func                  13    1.714  __ipipe_spin_unlock_irqrestore+0x10 
(gpio_mask_ack_irq+0x210)
 |  + func                  15    1.142  __ipipe_set_irq_pending+0x10 
(__ipipe_dispatch_irq+0x490)
 |  + end     0x0000018e    16    1.428  gpio_irq_handler+0x1ac 
(__ipipe_dispatch_irq+0x70)
 |  + func                  17    0.857  gic_eoi_irq+0x10 
(gpio_irq_handler+0x168)
 |  + func                  18    1.142  __ipipe_spin_lock_irqsave+0x10 
(gic_eoi_irq+0x24)
 |  # func                  19    1.714  __ipipe_spin_unlock_irqrestore+0x10 
(gic_eoi_irq+0x48)
 |  + func                  21    1.142  __ipipe_do_sync_stage+0x14 
(__ipipe_dispatch_irq+0x3d4)
 |  # func                  22    1.428  xnintr_irq_handler+0x14 [xeno_nucleus] 
(__ipipe_do_sync_stage+0x1e8)
 |  # func                  23    1.000  rt_intr_handler+0x10 [xeno_native] 
(xnintr_irq_handler+0x11c [xeno_nucleus])
 |  # func                  24    1.285  xnsynch_flush+0x14 [xeno_nucleus] 
(rt_intr_handler+0x3c [xeno_native])
 |  # func                  26    1.428  xnpod_resume_thread+0x14 
[xeno_nucleus] (xnsynch_flush+0x160 [xeno_nucleus])
 |  # [ 5284] 000000 257    27    2.142  xnpod_resume_thread+0x124 
[xeno_nucleus] (xnsynch_flush+0x160 [xeno_nucleus])
 |  # func                  29    1.428  __xnpod_schedule+0x14 [xeno_nucleus] 
(xnintr_irq_handler+0x318 [xeno_nucleus])
 |  # [ 5285] MAC Poll 0    31    0.857  __xnpod_schedule+0x194 [xeno_nucleus] 
(xnintr_irq_handler+0x318 [xeno_nucleus])
 |  # func                  32    2.000  xnsched_pick_next+0x10 [xeno_nucleus] 
(__xnpod_schedule+0x328 [xeno_nucleus])
 |  # [ 5284] 000000 257    34    3.142  __xnpod_schedule+0x604 [xeno_nucleus] 
(xnpod_suspend_thread+0x494 [xeno_nucleus])
 |  # func                  37    1.142  __ipipe_restore_head+0x10 
(__rt_intr_wait+0x210 [xeno_native])
 |  + end     0x80000000    38    1.714  __ipipe_restore_head+0xd8 
(__rt_intr_wait+0x210 [xeno_native])
 |  + begin   0x80000001    40    1.428  __ipipe_notify_syscall+0x208 
(pipeline_syscall+0x8)
 |  + end     0x80000001    41    0.857  __ipipe_notify_syscall+0x250 
(pipeline_syscall+0x8)
 |  + func                  42    1.000  __ipipe_bugon_irqs_enabled+0x10 
(__ipipe_ret_to_user_irqs_disabled+0x4)
 |  + end     0x90000000    43    2.142  __ipipe_ret_to_user_irqs_disabled+0x18 
(<b6f0ba30>)
 |  + begin   0x90000000    45    1.000  vector_swi+0x3c (<b6f0cb12>)
    + func                  46    0.857  __ipipe_notify_syscall+0x14 
(pipeline_syscall+0x8)
 |  + begin   0x80000001    47    1.428  __ipipe_notify_syscall+0x2d0 
(pipeline_syscall+0x8)
 |  + end     0x80000001    48    0.857  __ipipe_notify_syscall+0x1fc 
(pipeline_syscall+0x8)
    + func                  49    0.857  ipipe_syscall_hook+0x10 
(__ipipe_notify_syscall+0xc0)
 |  + begin   0x80000001    50    1.000  ipipe_syscall_hook+0x9c 
(__ipipe_notify_syscall+0xc0)
 |  + end     0x80000001    51    1.142  ipipe_syscall_hook+0x70 
(__ipipe_notify_syscall+0xc0)
    + func                  52    1.000  hisyscall_event+0x14 [xeno_nucleus] 
(ipipe_syscall_hook+0x90)
    + func                  53    1.000  __rt_sem_v+0x14 [xeno_native] 
(hisyscall_event+0x1a0 [xeno_nucleus])
    + func                  54    1.428  xnregistry_fetch+0x10 [xeno_nucleus] 
(__rt_sem_v+0x68 [xeno_native])
    + func                  56    1.000  rt_sem_v+0x14 [xeno_native] 
(__rt_sem_v+0x74 [xeno_native])
 |  + begin   0x80000000    57    1.857  rt_sem_v+0x20c [xeno_native] 
(__rt_sem_v+0x74 [xeno_native])
 |  # func                  58    1.285  xnsynch_wakeup_one_sleeper+0x14 
[xeno_nucleus] (rt_sem_v+0x218 [xeno_native])
 |  # func                  60    1.428  xnpod_resume_thread+0x14 
[xeno_nucleus] (xnsynch_wakeup_one_sleeper+0x158 [xeno_nucleus])
 |  # [ 5283] M88E6xx 90    61    1.285  xnpod_resume_thread+0x124 
[xeno_nucleus] (xnsynch_wakeup_one_sleeper+0x158 [xeno_nucleus])
 |  # func                  62    1.428  __xnpod_schedule+0x14 [xeno_nucleus] 
(rt_sem_v+0x268 [xeno_native])
 |  # [ 5284] 000000 257    64    0.857  __xnpod_schedule+0x194 [xeno_nucleus] 
(rt_sem_v+0x268 [xeno_native])
 |  # func                  65    1.571  xnsched_pick_next+0x10 [xeno_nucleus] 
(__xnpod_schedule+0x328 [xeno_nucleus])
 |  # func                  66    1.000  __ipipe_restore_head+0x10 
(rt_sem_v+0x168 [xeno_native])
 |  + end     0x80000000    67    1.142  __ipipe_restore_head+0xd8 
(rt_sem_v+0x168 [xeno_native])
 |  + begin   0x80000001    68    1.142  __ipipe_notify_syscall+0x208 
(pipeline_syscall+0x8)
 |  + end     0x80000001    70    0.857  __ipipe_notify_syscall+0x250 
(pipeline_syscall+0x8)
 |  + func                  70    0.857  __ipipe_bugon_irqs_enabled+0x10 
(__ipipe_ret_to_user_irqs_disabled+0x4)
 |  + end     0x90000000    71    2.000  __ipipe_ret_to_user_irqs_disabled+0x18 
(<b6f0cb16>)
 |  + begin   0x90000000    73    1.000  vector_swi+0x3c (<b6f0ba2c>)
    + func                  74    0.857  __ipipe_notify_syscall+0x14 
(pipeline_syscall+0x8)
 |  + begin   0x80000001    75    1.285  __ipipe_notify_syscall+0x2d0 
(pipeline_syscall+0x8)
 |  + end     0x80000001    76    0.857  __ipipe_notify_syscall+0x1fc 
(pipeline_syscall+0x8)
    + func                  77    1.000  ipipe_syscall_hook+0x10 
(__ipipe_notify_syscall+0xc0)
 |  + begin   0x80000001    78    1.000  ipipe_syscall_hook+0x9c 
(__ipipe_notify_syscall+0xc0)
 |  + end     0x80000001    79    0.857  ipipe_syscall_hook+0x70 
(__ipipe_notify_syscall+0xc0)
    + func                  80    1.000  hisyscall_event+0x14 [xeno_nucleus] 
(ipipe_syscall_hook+0x90)
    + func                  81    1.000  __rt_intr_wait+0x14 [xeno_native] 
(hisyscall_event+0x1a0 [xeno_nucleus])
 |  + begin   0x80000000    82    1.142  __rt_intr_wait+0xc8 [xeno_native] 
(hisyscall_event+0x1a0 [xeno_nucleus])
 |  # func                  83    1.000  xnregistry_fetch+0x10 [xeno_nucleus] 
(__rt_intr_wait+0x19c [xeno_native])
 |  # func                  84    1.000  xnregistry_fetch+0x10 [xeno_nucleus] 
(__rt_intr_wait+0x1ac [xeno_native])
 |  # func                  85    0.857  xnregistry_fetch+0x10 [xeno_nucleus] 
(__rt_intr_wait+0x2a8 [xeno_native])
 |  # func                  86    1.285  xnsynch_sleep_on+0x14 [xeno_nucleus] 
(__rt_intr_wait+0x30c [xeno_native])
 |  # func                  87    1.285  xnpod_suspend_thread+0x14 
[xeno_nucleus] (xnsynch_sleep_on+0x170 [xeno_nucleus])
 |  # func                  89    1.428  __xnpod_schedule+0x14 [xeno_nucleus] 
(xnpod_suspend_thread+0x494 [xeno_nucleus])
 |  # [ 5284] 000000 257    90    1.000  __xnpod_schedule+0x194 [xeno_nucleus] 
(xnpod_suspend_thread+0x494 [xeno_nucleus])
 |  # func                  91    1.857  xnsched_pick_next+0x10 [xeno_nucleus] 
(__xnpod_schedule+0x328 [xeno_nucleus])
 |  # [ 5283] M88E6xx 90    93    3.285  __xnpod_schedule+0x604 [xeno_nucleus] 
(xnpod_suspend_thread+0x494 [xeno_nucleus])
 |  # func                  96    1.285  __ipipe_restore_head+0x10 
(rt_sem_p_inner+0x170 [xeno_native])
 |  + end     0x80000000    98    2.142  __ipipe_restore_head+0xd8 
(rt_sem_p_inner+0x170 [xeno_native])
 |  + begin   0x80000001   100    1.142  __ipipe_notify_syscall+0x208 
(pipeline_syscall+0x8)
 |  + end     0x80000001   101    1.000  __ipipe_notify_syscall+0x250 
(pipeline_syscall+0x8)
 |  + func                 102    0.857  __ipipe_bugon_irqs_enabled+0x10 
(__ipipe_ret_to_user_irqs_disabled+0x4)
 |  + end     0x90000000   103   47.428  __ipipe_ret_to_user_irqs_disabled+0x18 
(<b6f0ca5c>)
 |  + begin   0x90000000   150    0.857  vector_swi+0x3c (<b6f0d7fe>)
    + func                 151    1.000  __ipipe_notify_syscall+0x14 
(pipeline_syscall+0x8)
 |  + begin   0x80000001   152    1.285  __ipipe_notify_syscall+0x2d0 
(pipeline_syscall+0x8)
 |  + end     0x80000001   153    0.857  __ipipe_notify_syscall+0x1fc 
(pipeline_syscall+0x8)
    + func                 154    1.000  ipipe_syscall_hook+0x10 
(__ipipe_notify_syscall+0xc0)
 |  + begin   0x80000001   155    1.000  ipipe_syscall_hook+0x9c 
(__ipipe_notify_syscall+0xc0)
 |  + end     0x80000001   156    0.857  ipipe_syscall_hook+0x70 
(__ipipe_notify_syscall+0xc0)
    + func                 157    1.000  hisyscall_event+0x14 [xeno_nucleus] 
(ipipe_syscall_hook+0x90)
    + func                 158    0.857  __rt_timer_inquire+0x14 [xeno_native] 
(hisyscall_event+0x1a0 [xeno_nucleus])
    + func                 159    0.857  rt_timer_inquire+0x10 [xeno_native] 
(__rt_timer_inquire+0x24 [xeno_native])
    + func                 160    1.285  xnarch_tsc_to_ns+0x10 [xeno_nucleus] 
(rt_timer_inquire+0x38 [xeno_native])
 |  + begin   0x80000001   161    1.285  __ipipe_notify_syscall+0x208 
(pipeline_syscall+0x8)
 |  + end     0x80000001   162    0.857  __ipipe_notify_syscall+0x250 
(pipeline_syscall+0x8)
 |  + func                 163    0.857  __ipipe_bugon_irqs_enabled+0x10 
(__ipipe_ret_to_user_irqs_disabled+0x4)
 |  + end     0x90000000   164    3.428  __ipipe_ret_to_user_irqs_disabled+0x18 
(<b6f0d802>)
 |  + begin   0x90000000   167    1.000  vector_swi+0x3c (<b6f0cb12>)
    + func                 168    1.000  __ipipe_notify_syscall+0x14 
(pipeline_syscall+0x8)
 |  + begin   0x80000001   169    1.285  __ipipe_notify_syscall+0x2d0 
(pipeline_syscall+0x8)
 |  + end     0x80000001   171    0.857  __ipipe_notify_syscall+0x1fc 
(pipeline_syscall+0x8)
    + func                 172    0.000  ipipe_syscall_hook+0x10 
(__ipipe_notify_syscall+0xc0)

Not sure anything there looks that big.  I wonder if the gpio bank is
just slow to generate the IRQ in the first place for some reason.

-- 
Len Sorensen

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

Reply via email to