lkml.org 
[lkml]   [2008]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [git patch] free_irq() fixes
    Eric W. Biederman wrote:
    > 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.
    [...]
    > 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




    \
     
     \ /
      Last update: 2008-04-24 19:33    [W:0.023 / U:0.340 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site