Messages in this thread | | | Date | Wed, 24 Sep 2008 11:33:42 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: Should irq_chip->mask disable percpu interrupts to all cpus, or just to this cpu? |
| |
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
| |