Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Does mfi write-back cache work for anyone?

On Mon, Jan 07, 2013 at 11:06:21PM -0500, Thor Lancelot Simon wrote:
> I have a number of Dell servers with PERC5 (MegaRAID SAS) controllers.
> On each controller on each machine, I get, after booting NetBSD, "mfiX:
> critical limit on 'mfiX BBU'".  Disk performance subsequently is exactly
> what one would expect from a MegaRAID controller in write-through mode:
> great for reads, awful for writes unless one feeds huge numbers of
> sequential writes to the card, for example by dd bs=1m onto the raw
> device so the kernel keeps splatting out 64K chunks as fast as it can.
> I assumed I had bad BBUs but this condition persists even with brand
> new replacement batteries from Dell.  And, in fact, having obtained a
> known-bad BBU, I now know that the controller BIOS reports this -- and
> that it's forcing write-through mode -- at boot time.  Which it does
> not with any of my BBUs.
> I have to assume our driver is somehow always sensing bad BBU and disabling
> (or not enabling) write-back cache.
> Does anyone actually have a PERC (or any controller using the mfi driver)
> card with BBU that is actually successfully using the write-back cache
> under NetBSD?

I do:
NetBSD ftp.lip6.fr 6.0_STABLE NetBSD 6.0_STABLE (FTP) #0: Sun Nov 25 19:14:29 
MET 2012  
mfi0 at pci3 dev 0 function 0: Dell PERC 6/i integrated
mfi0: interrupting at ioapic1 pin 1
mfi0: PERC 6/i Integrated version 6.2.0-0013
mfi0: logical drives 2, 256MB RAM, BBU type BBU, status good
scsibus0 at mfi0: 64 targets, 8 luns per target
mfi0: normal state on 'mfi0:0' (online)
mfi0: normal state on 'mfi0:1' (online)

ftp:/home/bouyer>envstat -d mfi0
            Current  CritMax  WarnMax  WarnMin  CritMin  Unit
mfi0 BBU:      TRUE
  mfi0:0:    online
  mfi0:1:    online

I also have:
mfi0 at pci8 dev 14 function 0: Dell PERC 5/i integrated
mfi0: interrupting at ioapic1 pin 14
mfi0: PERC 5/i Integrated version 5.0.1-0030
mfi0: logical drives 2, 256MB RAM, BBU type BBU, status bad
scsibus0 at mfi0: 64 targets, 8 luns per target

this one reports 'status bad' at boot time but switches to good later:
swing:/home/bouyer>envstat -d mfi0
             Current  CritMax  CritMin  CritCap     Unit
mfi0 BBU:         ON
  mfi0:0:     online
  mfi0:1:     online

AFAIK there's no code in the driver to disable the write-back cache
if the BBU goes bad; the adapter's firmware should do it itself.

Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference

Home | Main Index | Thread Index | Old Index