On Wed, 2007-10-17 at 15:14 +0200, CHABAL David wrote:
> :| + *func -84 0.389 mask_and_ack_8259A+0x14
> (__ipipe_ack_level_irq+0x22)
> :| + *func -84 0.397 __ipipe_spin_lock_irqsave+0x9
> (mask_and_ack_8259A+0x29)
> :| # *(0x11) 0x0000000e -83! 17.062 mask_and_ack_8259A+0xbc
> (__ipipe_ack_level_irq+0x22)
> :| # *(0x22) 0x0000000e -66! 23.096 mask_and_ack_8259A+0xca
> (__ipipe_ack_level_irq+0x22)
> :| # *(0x33) 0x0000000e -43 0.415 mask_and_ack_8259A+0xf3
> (__ipipe_ack_level_irq+0x22)
> :| # *func -43 0.418
> __ipipe_spin_unlock_irqrestore+0x9 (mask_and_ack_8259A+0x67)
> :| + *func -42 0.397 __ipipe_walk_pipeline+0xa
Grmmff... I think the PIC on this box has some deep troubles; please try
this patch, in replacement of the previous ipipe_trace_special
instrumentation:
--- 2.6.20-ipipe-1.8-08/arch/i386/kernel/i8259.c~ 2007-10-12
18:19:31.000000000 +0200
+++ 2.6.20-ipipe-1.8-08/arch/i386/kernel/i8259.c 2007-10-17
15:42:35.000000000 +0200
@@ -128,7 +128,7 @@
* This has to be protected by the irq controller spinlock
* before being called.
*/
-static inline int i8259A_irq_real(unsigned int irq)
+int i8259A_irq_real(unsigned int irq)
{
int value;
int irqmask = 1<<irq;
@@ -174,6 +174,8 @@
*/
if (cached_irq_mask & irqmask)
goto spurious_8259A_irq;
+
+ ipipe_trace_special(0x77, irq);
#ifdef CONFIG_IPIPE
if (irq == 0) {
outb(0x60,PIC_MASTER_CMD); /* 'Specific EOI to master */
@@ -185,18 +187,14 @@
handle_real_irq:
if (irq & 8) {
- ipipe_trace_special(0x10, irq);
- inb(PIC_SLAVE_IMR); /* DUMMY - (do we need this?) */
- ipipe_trace_special(0x11, irq);
outb(cached_slave_mask, PIC_SLAVE_IMR);
outb(0x60+(irq&7),PIC_SLAVE_CMD);/* 'Specific EOI' to slave */
outb(0x60+PIC_CASCADE_IR,PIC_MASTER_CMD); /* 'Specific EOI' to
master-IRQ2 */
- ipipe_trace_special(0x12, irq);
} else {
- inb(PIC_MASTER_IMR); /* DUMMY - (do we need this?) */
outb(cached_master_mask, PIC_MASTER_IMR);
outb(0x60+irq,PIC_MASTER_CMD); /* 'Specific EOI to master */
}
+ ipipe_trace_special(0x99, irq);
spin_unlock_irqrestore(&i8259A_lock, flags);
return;
--
Philippe.
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help