Re: why inter-changing pci slot works?




Rainer Weikusat wrote:

The difference between MSI and traditional PCI IRQs is that, instead
of being delivered as out-of-band signal using dedicated circuitry,
an interrupt condition is signalled by doing an inbound (from device
to host) memory write over the PCI to a specific
address. Responsibility for assigning unique addresses to each device
rests with the host software. But this transports the interrupt event
only to the PCI controller (or whatever component feels itself
addressed at this area of the physical memory map). There still needs
to be some kind of 'interrupt controller' that can actually interrupt
the CPU, with IRQ numbers that may be shared etc pp, meaning, while
this is supposedly cheaper (less pins) it doesn't adresss the 'messy'
part at all. And it isn't even theoretically real-time capable.

I think you are equating the problem MSI solves with a totally
different problem that MSI does not solve. MSI solves the problem of
assigning, identifying, and possibly running out of interrupts to
devices in PCI and PCI-E slots. It does not solve the problem of
assigning, identifying, and possibly running out of interrupts for bus
controllers. A system will typically have a limited, fixed number of
bus controllers, so this really isn't a problem -- sharing IRQs
shouldn't be necessary.

So I disagree that it doesn't address the messy part. It addresses it
and solves it. There should be no need to assign or share IRQs based on
added hardware in a system that can use MSI for all its devices.

However, I do agree that MSI brings its own issues and isn't the
greatest thing since sliced bread. I think its primary purpose is to
save pins and therefore cost.

DS

.



Relevant Pages

  • [PATCH] Rewrite MSI-HOWTO
    ... Also move it to the PCI subdirectory of Documentation. ... -and how to enable your driver to use MSI or MSI-X. ... -Message Signaled Interrupt, as described in the PCI Local Bus ...
    (Linux-Kernel)
  • [PATCH 4/6] Rewrite MSI-HOWTO
    ... I also moved it to the PCI subdirectory of Documentation. ... -and how to enable your driver to use MSI or MSI-X. ... -Message Signaled Interrupt, as described in the PCI Local Bus ...
    (Linux-Kernel)
  • [PATCH 1/6] Rewrite MSI-HOWTO
    ... -and how to enable your driver to use MSI or MSI-X. ... -not to all functions on a PCI device (unless the PCI device has only ... -Message Signaled Interrupt, as described in the PCI Local Bus ...
    (Linux-Kernel)
  • Re: MSI, fun for the whole family
    ... Just in case they decide to plug in some really irq hungry ... Do you mean information that is different each time an interrupt is fires? ... This is why MSI is so cool. ... You get a tiny chunk of data from the hardware, across the PCI bus in a single ...
    (Linux-Kernel)
  • Re: MSI problem since 2.6.21 for devices not providing a mask in their MSI capability
    ... The INTx pending and disable bit were only added starting with PCI 2.3, ... most devices) to transfer the interrupt state from INTx to MSI, ... The possibility of masking for MSI was only specified (and then only as ...
    (Linux-Kernel)