On 02/25/2014 09:04 PM, Gregory Dymarek wrote:
> Thanks Gilles,
> 
> Do you mean to execute ipipe_trace_freeze instead of the warning and
> kernel/irq/handle.c:146
> ?

Yes.

> 
> I've recompiled the kernel with the following code in handle.c:146
>  13 irqreturn_t
> 
>  12 handle_irq_event_percpu(struct irq_desc *desc, struct irqaction
> *action)
>  11 {
> 
>  10     irqreturn_t retval = IRQ_NONE;
> 
>   9     unsigned int flags = 0, irq = desc->irq_data.irq;
> 
>   8
> 
>   7     do {
> 
>   6         irqreturn_t res;
> 
>   5
> 
>   4         trace_irq_handler_entry(irq, action);
> 
>   3         res = action->handler(irq, action->dev_id);
> 
>   2         trace_irq_handler_exit(irq, action, res);
> 
>   1
> 
> 145         if (!irqs_disabled()) ipipe_trace_freeze(1);
> 
>   1
> 
>   2         if (WARN_ONCE(!irqs_disabled(),"irq %u handler %pF enabled
> interrupts\n",
>   3                   irq, action->handler))
> 
>   4             local_irq_disable();
> 
> 
> But this does not trigger trace freeze.

the tracer should be compiled-in and started, see:
http://www.xenomai.org/index.php/Xenomai:I-pipe_Tracer#API


> What is the 'unsigned int v' in the definition of ipipe_trace_freeze?

It is a value you will find back in the trace.


-- 
                                                                Gilles.

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

Reply via email to