Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Apr 2011 12:11:49 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-drivers@freebsd.org
Cc:        Bret Ketchum <bcketchum@gmail.com>
Subject:   Re: MSI interrupts.
Message-ID:  <201104151211.49148.jhb@freebsd.org>
In-Reply-To: <BANLkTim9WWQDjAJsHNNDRTN%2BnTXbxAonFA@mail.gmail.com>
References:  <BANLkTim9WWQDjAJsHNNDRTN%2BnTXbxAonFA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, April 12, 2011 9:16:16 am Bret Ketchum 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?

Hmm, can you capture messages with bootverbose enabled?  A full boot -v dmesg 
might be useful as well.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104151211.49148.jhb>