MSI interrupts.

Brandon Gooch jamesbrandongooch at gmail.com
Tue Apr 12 14:21:23 UTC 2011


On Tue, Apr 12, 2011 at 8:16 AM, Bret Ketchum <bcketchum at gmail.com> wrote:
>    I've a roll-your-own driver for FreeBSD 8.x that uses MSI interrupts for
> PCI-E HBAs where one or more will be installed in a off-the-shelf amd64
> pizza box. The driver is using bus_setup_intr() and depending upon the slots
> the HBAs are install I see log messages from apic_alloc_vectors(), for
> example:
>
> Apr 12 06:44:15 mfsbsd kernel: xxxpci10: attempting to allocate 1 MSI
> vectors (16 supported)
> Apr 12 06:44:15 mfsbsd kernel: APIC: Couldn't find APIC vectors for 1 IRQs
> Apr 12 06:44:15 mfsbsd kernel: ioapic1: routing intpin 13 (PCI IRQ 37) to
> lapic 0 vector 59
>
>    Using vmstat -ia:
>
> interrupt                          total       rate
> irq37: xxxpci10                       74          0
>
>    The problem appears to be that HBA interrupts are not being delivered to
> the driver. If I swap cards around in slots I can eliminate the message and:
>
> Apr 12 06:44:15 mfsbsd kernel: msi: routing MSI IRQ 266 to local APIC 0
> vector 80
>
>    And interrupts appear to be delivered properly. Before I dive in, can
> anyone explain this behavior?
>
>    Thanks in advance.
>
>    Dr.

Can you provide output from a verbose boot of the system (perhaps one
for each variation of card installation in the slots)?

That may shed some light for the developers...

-Brandon


More information about the freebsd-drivers mailing list