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