[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160120190718.GS6357@twins.programming.kicks-ass.net>
Date: Wed, 20 Jan 2016 20:07:18 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Daniel Lezcano <daniel.lezcano@...aro.org>
Cc: tglx@...utronix.de, rafael@...nel.org, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org, nicolas.pitre@...aro.org,
vincent.guittot@...aro.org
Subject: Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings
On Wed, Jan 20, 2016 at 05:00:32PM +0100, Daniel Lezcano wrote:
> +++ b/kernel/irq/handle.c
> @@ -165,6 +165,7 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc)
> /* Fall through to add to randomness */
> case IRQ_HANDLED:
> flags |= action->flags;
> + handle_irqtiming(irq, action->dev_id);
> break;
>
> default:
> +++ b/kernel/irq/internals.h
> +static inline void handle_irqtiming(unsigned int irq, void *dev_id)
> +{
> + if (__irqtimings->handler)
> + __irqtimings->handler(irq, ktime_get(), dev_id);
> +}
Here too, ktime_get() is daft.
Also, you really want to take the timestamp _before_ we call the
handlers, not after, otherwise you mix in whatever variance exist in the
handler duration.
Powered by blists - more mailing lists