[lkml]   [2008]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Multiple MSI, take 3
    Benjamin Herrenschmidt <> writes:

    > I still mostly dislike the new approach, I prefer Matthew's original one
    > with SW masking of the MSIs. For example, if you have the MSIs be 'one'
    > interrupt, then you hit all of the logic in the IRQ core to make sure
    > only one happens at once. Might not be what you want, and -will- cause
    > some to be dropped... not nice.

    You are correct. Using the existing irq handling logic will cause us
    to drop irqs and to loose information if two messages are sent close
    to each other. Which is very nasty.

    With a little care we can avoid that problem by having a 32 bit bitmap
    of which sub irqs have fired so we can make all of them pending
    without loosing information. That does requires a new handle_irq method.

    One of the primary purposes of masking irqs in hardware is to prevent
    them from screaming. Unlikely with edge triggered irqs but not a capability
    I would like to give up.

    Multi-msi has the problem that cpu affinity can not be changed on a
    per message basis without an iommu. Which is a portability problem
    and a problem on common architectures.

    Therefore to support multi-msi it must be handled as a special case, we can not
    treat the individual messages like normal irqs.


     \ /
      Last update: 2008-07-14 00:35    [W:0.022 / U:17.192 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site