Re: [PATCH V6] irq: Track the interrupt timings

From: Nicolas Pitre
Date: Tue Jun 14 2016 - 16:55:24 EST


On Tue, 14 Jun 2016, Daniel Lezcano wrote:

> The interrupt framework gives a lot of information about each interrupt.
>
> It does not keep track of when those interrupts occur though.
>
> This patch provides a mean to record the elapsed time between successive
> interrupt occurrences in a per-IRQ per-CPU circular buffer to help with the
> prediction of the next occurrence using a statistical model.
>
> A new function is added to browse the different interrupts and retrieve the
> timing information stored in it.
>
> A static key is introduced so when the irq prediction is switched off at
> runtime, we can reduce the overhead near to zero. The irq timings is
> supposed to be potentially used by different sub-systems and for this reason
> the static key is a ref counter, so when the last use releases the irq
> timings that will result on the effective deactivation of the irq measurement.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
> Acked-by: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>
> ---
> V6:
> - Renamed handle_irq_timings to record_irq_time
> - Stored the event time instead of the interval time
> - Removed the 'timestamp' field from the timings structure
> - Moved _handle_irq_timings content inside record_irq_time

Looks fine to me.


Nicolas