Re: Make kstat_incr_irqs_this_cpu() called when an irq is actuallybeing handled

From: Thomas Gleixner
Date: Thu May 31 2012 - 12:41:54 EST


On Thu, 31 May 2012, Ning Jiang wrote:
> kstat_incr_irqs_this_cpu() is supposed to record the irq number
> that is actually taken by a certain cpu. But it failed to do so
> in its current form.

It exactly counts the number of interrupts which are delivered to and
handled by a CPU. That includes interrupts which are delivered in a
state where the device handler cannot be called. And this is on
purpose. We want to see the real number of interruptions not the
number of calls to a device handler.

> For level irq, if its disabled or no action available, we'll skip
> irq handling. When it is enabled later, the irq will be retriggered
> and kstat_incr_irqs_this_cpu() will be counted twice for this
> single irq.

This counts the number of interrupts arrived at the CPU and therefor
it counts TWO in this situation. The CPU is interrupted twice, not
once.

Thanks,

tglx


--
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/