Thread (63 messages) 63 messages, 4 authors, 2016-01-22

Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings

From: Peter Zijlstra <peterz@infradead.org>
Date: 2016-01-20 19:07:24
Also in: lkml

On Wed, Jan 20, 2016 at 05:00:32PM +0100, Daniel Lezcano wrote:
quoted hunk ↗ jump to hunk
+++ 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:
quoted hunk ↗ jump to hunk
+++ 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help