Re: [PATCH] new irq tracer

From: KOSAKI Motohiro
Date: Wed Feb 18 2009 - 20:42:23 EST


Hi Jason,

> * Jason Baron (jbaron@xxxxxxxxxx) wrote:
> > hi,
> >
> > Using a copule of tracepoints i've implemented an 'irq tracer' which has
> > the following column format:
> >
> > [time][irq][action][handled][cpu][length]
> >
> > for example on my system:
> >
> > [ 1038.927248381] 28 eth0 1 3 0.000002745
> > [ 1038.927544688] 28 eth0 1 3 0.000002520
> > [ 1038.927593609] 28 eth0 1 3 0.000002509
> > [ 1038.974087675] 29 ahci 1 1 0.000013135
> > [ 1038.974288475] 29 ahci 1 1 0.000005542
> > [ 1038.974414324] 29 ahci 1 1 0.000007953
> >
> > I think this patch is useful in understanding irq system behavior, and
> > for tracking down irq driver handlers that are firing too often or
> > spending too much time handling an irq. This approach could be extended
> > to the timer irq and for softirqs...
> >
> > thanks,



> > @@ -354,7 +358,9 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)
> > local_irq_enable_in_hardirq();
> >
> > do {
> > + trace_irq_entry(irq);
> > ret = action->handler(irq, action->dev_id);
> > + trace_irq_exit(irq, ret);
> > if (ret == IRQ_HANDLED)
> > status |= action->flags;
> > retval |= ret;

May I ask why you select this line?

IOW, I guess your probe point is interest to irq action and mathieu's
probe point is interest to interrupt itself.

I guess you also want to observe shared irq problem, right?


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/