Date: Wed, 31 Aug 2011 23:24:12 +0400 From: Sergey Kandaurov <pluknet@gmail.com> To: John Baldwin <jhb@freebsd.org> Cc: stable@freebsd.org Subject: Re: mfi(4) patch to add MSI-X support, possibly address command timeouts Message-ID: <CAE-mSO%2B=RZABD-xxLHkda%2B0JkMypAibMAAbPh23=fQRL9gKXMA@mail.gmail.com> In-Reply-To: <201108311334.10804.jhb@freebsd.org> References: <201108311334.10804.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 31 August 2011 21:34, John Baldwin <jhb@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
Patch applied and tested on RELENG_8_2.
mfi0@pci0:26:0:0: class=0x010400 card=0x03b21014 chip=0x00791000
rev=0x03 hdr=0x00
vendor = 'LSI Logic (Was: Symbios Logic, NCR)'
class = mass storage
subclass = RAID
bar [10] = type I/O Port, range 32, base 0x3000, size 256, enabled
bar [14] = type Memory, range 64, base 0x9dd40000, size 16384, enabled
bar [1c] = type Memory, range 64, base 0x9dd00000, size 262144, enabled
cap 01[50] = powerspec 3 supports D0 D1 D2 D3 current D0
cap 10[68] = PCI-Express 2 endpoint max data 256(4096) link x8(x8)
cap 03[d0] = VPD
cap 05[a8] = MSI supports 1 message, 64 bit
cap 11[c0] = MSI-X supports 15 messages in map 0x14
ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected
ecap 0004[138] = unknown 1
--
wbr,
pluknet
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE-mSO%2B=RZABD-xxLHkda%2B0JkMypAibMAAbPh23=fQRL9gKXMA>
