mfi(4) patch to add MSI-X support, possibly address command timeouts

Sergey Kandaurov pluknet at gmail.com
Wed Aug 31 21:27:10 UTC 2011


On 1 September 2011 01:17, John Baldwin <jhb at freebsd.org> wrote:
> On Wednesday, August 31, 2011 3:24:12 pm Sergey Kandaurov wrote:
>> On 31 August 2011 21:34, John Baldwin <jhb at freebsd.org> wrote:
>> > I'd like some folks to test a patch to the mfi(4) driver that may help to
>> > address issues several folks have reported.  The patch does two things, first
>> > it adds some dummy reads of PCI registers when checking device status in the
>> > interrupt handler to "flush" the writes to ACK interrupts.  The Linux
>> > megaraid-sas driver uses this approach and some folks have tested a patch from
>> > Scott Long which had a somewhat similar effect.  Second, it enables the use of
>> > MSI-X interrupts for many newer devices.
>> >
>> > The patch is available below and at www.freebsd.org/~jhb/patches/mfi.patch
>>
>> mfi0: <LSI MegaSAS Gen2> port 0x3000-0x30ff mem
>> 0x9dd40000-0x9dd43fff,0x9dd00000-0x9dd3ffff irq 26 at device 0.0 on
>> pci26
>> mfi0: Using MSI-X
>> mfi0: Megaraid SAS driver Ver 3.00
>>
>> However, booting never finishes ending up with:
>> mfi0: COMMAND 0xffffff8000b3a550 TIMEOUT AFTER 58 SECONDS
>> mfi0: COMMAND 0xffffff8000b3a550 TIMEOUT AFTER 88 SECONDS
>> mfi0: COMMAND 0xffffff8000b3a550 TIMEOUT AFTER 118 SECONDS
>> mfi0: COMMAND 0xffffff8000b3a550 TIMEOUT AFTER 148 SECONDS
>> mfi0: COMMAND 0xffffff8000b3a550 TIMEOUT AFTER 179 SECONDS
>> mfi0: COMMAND 0xffffff8000b3a550 TIMEOUT AFTER 209 SECONDS
>
> Did this work fine without the patch?

Yes, like a charm.

>
> Also, does it work fine if you disable MSI-X via 'hw.pci.enable_msix=0'
> in the loader?

I will try this tomorrow.
Thanks.

-- 
wbr,
pluknet


More information about the freebsd-stable mailing list