Re: [Xenomai-core] preemptive doesn't work

2012-03-07 Thread Roberto Bielli

Hi Gilles,

we are sure that when a task execute NO INTERRUPTS arrives in interrupt 
service routine in assembler in the kernel,

until it sleeps. It's not a problem of secondary mode.

So we tried the same application on another porting of xenomai with 
marvell ( kernel 2.6.31.8 - xenomai always 2.5.6 ) and there is no problem.


We cannot change the kernel so we must find the problem in this version 
2.6.31 with xenomai 2.5.6 .

The patch of ipipe used is for 2.6.31.8 instead 2.6.31.
Is there a problem for this ? There are the hw locks (spin_lock, etc...) 
in the 2.6.31 that are different in 2.6.31.8 ?


I repeat that seems that all interrupt are disabled, as if there are 
some irq_enable/irq_disable when execute a task,

or the interrupt line is not acked.

The hw implementation of read/write/ack timer are correct.

Can you explain me how work the scheduler of xenomai compared with the 
tasks and the timer ?


Thanks for all.




Il 06/03/2012 17:16, Gilles Chanteperdrix ha scritto:

On 03/06/2012 04:35 PM, Roberto Bielli wrote:

Hi Gilles,

about T_WARNSW i see in the /proc/xenomai/stat that my task hasn't change mode 
(the value of MSW is 0 )
so, it hasn't changed in secondary mode.

Or maybe it started in secondary mode and never switched mode?





--
++

Roberto Bielli
Sviluppo Software   
Axel S.r.l. 

Via Del Cannino, 3  
21020 Crosio Della Valle
Varese - Italy  

Telefono: +39 0332 949600   
Fax:  +39 0332 969315   

E-mail:   roberto.bie...@axelsw.it  
Web Site: www.axelsw.it

++

Si precisa che le informazioni contenute in questo messaggio sono riservate e 
ad uso esclusivo del destinatario.
Qualora il messaggio in parola Le fosse pervenuto per errore, La preghiamo di 
eliminarlo senza copiarlo e di non inoltrarlo a terzi,
dandocene gentilmente comunicazione. Grazie.
Informativa sul trattamento dei dati personali (D. Lgs. 196/2003).
I dati utilizzati per la spedizione del presente messaggio sono utilizzati da 
Axel S.r.l., titolare del trattamento,
per l'invio delle comunicazioni dei diversi settori aziendali, non essendo 
autorizzata la divulgazione a terzi.
Potrete rivolgere alla seguente mail richieste di verifica, rettifica o 
cancellazione dei Vostri dati: i...@axelsw.it

This e-mail and any attachments is confidential and may contain privileged 
information
intended for the addressee(s) only. Dissemination, copying, printing or use by 
anybody
else is unauthorised. If you are not the intended recipient,
please delete this message and any attachments and advise the sender
by return e-mail.Thank you. 

++


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


Re: [Xenomai-core] preemptive doesn't work

2012-03-07 Thread Gilles Chanteperdrix
On 03/07/2012 01:59 PM, Roberto Bielli wrote:
 Hi Gilles,
 
 we are sure that when a task execute NO INTERRUPTS arrives in interrupt 
 service routine in assembler in the kernel,
 until it sleeps. It's not a problem of secondary mode.

Show me the trace and I will believe you (approximately fourth time I ask).

-- 
Gilles.

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


Re: [Xenomai-core] preemptive doesn't work

2012-03-07 Thread Roberto Bielli

Hi Gilles,

this is the trace and the test.

It seems that '__ipipe_dispatch_event' last about ~84 milliseconds with 
disable interrupts.



Thanks a lot for your time.



Il 07/03/2012 14:44, Gilles Chanteperdrix ha scritto:

On 03/07/2012 01:59 PM, Roberto Bielli wrote:

Hi Gilles,

we are sure that when a task execute NO INTERRUPTS arrives in interrupt
service routine in assembler in the kernel,
until it sleeps. It's not a problem of secondary mode.

Show me the trace and I will believe you (approximately fourth time I ask).




--
++

Roberto Bielli
Sviluppo Software   
Axel S.r.l. 

Via Del Cannino, 3  
21020 Crosio Della Valle
Varese - Italy  

Telefono: +39 0332 949600   
Fax:  +39 0332 969315   

E-mail:   roberto.bie...@axelsw.it  
Web Site: www.axelsw.it

++

Si precisa che le informazioni contenute in questo messaggio sono riservate e 
ad uso esclusivo del destinatario.
Qualora il messaggio in parola Le fosse pervenuto per errore, La preghiamo di 
eliminarlo senza copiarlo e di non inoltrarlo a terzi,
dandocene gentilmente comunicazione. Grazie.
Informativa sul trattamento dei dati personali (D. Lgs. 196/2003).
I dati utilizzati per la spedizione del presente messaggio sono utilizzati da 
Axel S.r.l., titolare del trattamento,
per l'invio delle comunicazioni dei diversi settori aziendali, non essendo 
autorizzata la divulgazione a terzi.
Potrete rivolgere alla seguente mail richieste di verifica, rettifica o 
cancellazione dei Vostri dati: i...@axelsw.it

This e-mail and any attachments is confidential and may contain privileged 
information
intended for the addressee(s) only. Dissemination, copying, printing or use by 
anybody
else is unauthorised. If you are not the intended recipient,
please delete this message and any attachments and advise the sender
by return e-mail.Thank you. 

++

I-pipe frozen back-tracing service on 2.6.31/ipipe-1.16-02

CPU: 0, Freeze: 2038911849125 cycles, Trace Points: 100 (+10)
Calibrated minimum trace-point overhead: 1.044 us

 +- Hard IRQs ('|': locked)
 |+ unused
 ||+--- unused
 |||+-- Xenomai
 +- Linux ('*': domain stalled, '+': current, '#': current+stalled)
 |+-- Delay flag ('+':  1 us, '!':  10 us)
 ||+- NMI noise ('N')
 |||
  TypeUser Val.   TimeDelay  Function (Parent)
:|   #func   -84864+   1.313  __ipipe_handle_irq+0x14 
(__ipipe_grab_irq+0x68)
:|   #func   -84863+   1.164  __ipipe_ack_timerirq+0x10 
(__ipipe_handle_irq+0x9c)
:|   #func   -84862+   1.462  __ipipe_ack_level_irq+0x10 
(__ipipe_ack_timerirq+0x24)
:|   #func   -84860+   1.358  mxc_mask_irq+0x10 
(__ipipe_ack_level_irq+0x3c)
:|   #func   -84859+   1.432  mxc_mask_irq+0x10 
(__ipipe_ack_level_irq+0x54)
:|   #func   -84858+   1.268  __ipipe_mach_acktimer+0x10 
(__ipipe_ack_timerirq+0x28)
:|   #func   -84856+   1.298  __ipipe_end_level_irq+0x10 
(__ipipe_ack_timerirq+0x38)
:|   #func   -84855+   1.358  mxc_unmask_irq+0x10 
(__ipipe_end_level_irq+0x28)
:|   #func   -84854+   1.552  __ipipe_dispatch_wired+0x10 
(__ipipe_handle_irq+0xa8)
:|   #func   -84852+   1.238  __ipipe_dispatch_wired_nocheck+0x10 
(__ipipe_dispatch_wired+0x84)
:|  #*func   -84851+   1.507  xnintr_clock_handler+0x10 
(__ipipe_dispatch_wired_nocheck+0x68)
:|  #*func   -84849+   2.208  xntimer_tick_aperiodic+0x14 
(xnintr_clock_handler+0x44)
:|  #*func   -84847+   2.074  xntimer_next_local_shot+0x10 
(xntimer_tick_aperiodic+0x258)
:|  #*event   tick@-84784-84845+   1.164  xntimer_next_local_shot+0xcc 
(xntimer_tick_aperiodic+0x258)
:|  #*func   -84844+   2.268  __ipipe_mach_set_dec+0x10 
(xntimer_next_local_shot+0x110)
:|   #func   -84842+   1.552  __ipipe_walk_pipeline+0x10 
(__ipipe_dispatch_wired_nocheck+0xac)
:|   #end 0x -84840+   1.835  __ipipe_grab_irq+0x74 (__irq_svc+0x68)
:#func   -84838+   1.522  vma_prio_tree_remove+0x10