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

John Baldwin jhb at freebsd.org
Wed Aug 31 21:17:04 UTC 2011


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?

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

-- 
John Baldwin


More information about the freebsd-stable mailing list