Re: [PATCH] rt/threadirqs: put the irq thread handler in acallback

From: Steven Rostedt
Date: Fri Feb 13 2009 - 00:46:55 EST



On Fri, 13 Feb 2009, Frederic Weisbecker wrote:

> Currently, when a hardirq is threaded, it is processed by do_hardirq()
> which guess the best low-level handler for this irq.
>
> This makes several branch conditions to check for each irq triggered,
> adding some (very small) latencies since we are in a fastpath (irq disabled)
> of the irq processing.
>
> So it's better to put these checks only once when the handler of the irq is set
> and then only dereference one pointer to find the appropriate callback.
>
> This patch makes the irq thread handler a field in struct irq_desc.
>
> [Note, I'm not sure the check if (!desc->handle_irq_thread) is really
> useful. I've put it to ensure that even an irq_desc which never gone to
> __set_irq_handler() can be handled. But I'm not sure it is possible.]
>
> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>

Thanks, I'll apply it to my local tree and test it out.

-- Steve

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