Re: Should irq_chip->mask disable percpu interrupts to all cpus,or just to this cpu?

From: Jeremy Fitzhardinge
Date: Wed Sep 24 2008 - 14:33:50 EST


Eric W. Biederman wrote:
> I really hate the notion of sharing a single irq_desc across
> multiple cpus as a preferred mode of operation. As NUMA comes
> into play it guarantees we will have cross cpu memory fetches
> on a fast path for irq handling.
>
> Other than the beautiful way we print things in /proc/interrupts
> IRQ_PER_CPU feels like a really bad idea. Especially in that
> it enshrines the nasty per cpu irq counters that scale horribly.
>

I found handle_percpu_irq() which addresses my concerns. It doesn't
attempt to mask the interrupt, takes no locks, and doesn't set or test
IRQ_INPROGRESS in desc->status, so it will scale perfectly across
multiple cpus. It makes no changes to the desc structure, so there
isn't even any cacheline bouncing.

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