Eric W. Biederman wrote:
quoted text > Even if we never export them to drivers we will need to implement
> in genirq functions like:
>
> int __must_check irq_request(struct irq_desc *irq, irq_handler_t handler,
> unsigned long irqflags, const char *devname, void *devid);
>
> int __must_check request_irq(unsigned int irq, irq_handler_t handler,
> unsigned long irqflags, const char *devname, void *devid)
> {
> return irq_request(cookie_to_desc(irq), handler, irqflags, devname, devid);
> }
>
> Or at the very least do the mapping from cookie to irq_desc at the
> start of all of the genirq functions. One valid implementation of
> that cookie to desc will be the current array lookup. But for x86
> we need something less limiting.
[...]
quoted text > And on x86 at least the hardware maps the MSI write into an interrupt.
> So there is not an opportunity to get any metdata/OOB data from the
> MSI message. Instead we just potentially get a boatload more irq
> sources. Which is one of the things making a static NR_IRQS painful.
>
> To be safe we have to make NR_IRQS 10x+ or so bigger then people use
> today. Just in case they decide to plug in some really irq hungry
> cards.
Just to be clear, irq_chip/irq_desc and metadata/OOB data are two very
different beasts. irq_chip/irq_desc is more a system attribute as Linus
notes. Also, it doesn't change very often.
metadata/OOB, on the other hand, is different -for each interrupt-, and
is highly relevant to drivers. Thus should be part of the driver API
somehow.
Jeff
--
unsubscribe notice To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Messages in current thread:
Re: [git patch] free_irq() fixes , Jeff Garzik , (Thu Apr 24, 10:30 am)