How to solve mysterious system lockups?

Chuck Swiger cswiger at mac.com
Tue Jun 5 17:17:51 UTC 2007


On Jun 4, 2007, at 8:49 PM, N. Harrington wrote:
>  Hi Garret
>  Here is the driver info.
>
> -- SATA
>
> atapci0: <SiI 3114 SATA150 controller> port
> 0xbc00-0xbc07,0xb400-0xb403,0xb000-0xb007,0xac00-0xac03,0xa800-0xa80f

Ah-- regrettably, the Silicon Image 3112 & 3114 chips have some  
significant hardware defects, which tend to show up more frequently  
when you put the disk system under significant load (especially  
RAID).  It's likely to be the case that switching to a better SATA  
controller would resolve the problems you are seeing with your SATA- 
based machines.

If you have a chance, perhaps see whether building a kernel with the  
following patch does anything to help the "disk lockups" you've seen:

--- sys/dev/ataata-chipset.c~      Wed Jun  1 14:24:26 2005
+++ sys/dev/ataata-chipset.c       Tue Jun  5 12:54:58 2007
@@ -2240,7 +2240,7 @@
      struct ata_pci_controller *ctlr = device_get_softc(dev);
      struct ata_chip_id *idx;
      static struct ata_chip_id ids[] =
-    {{ ATA_SII3114,   0x00, SIIMEMIO, SII4CH,   ATA_SA150, "SiI  
3114" },
+    {{ ATA_SII3114,   0x00, SIIMEMIO, (SII4CH|SIIBUG),  ATA_SA150,  
"SiI 3114" },
       { ATA_SII3512,   0x02, SIIMEMIO, 0,        ATA_SA150, "SiI  
3512" },
       { ATA_SII3112,   0x02, SIIMEMIO, 0,        ATA_SA150, "SiI  
3112" },
       { ATA_SII3112_1, 0x02, SIIMEMIO, 0,        ATA_SA150, "SiI  
3112" },

The effect of this change is to limit the SilI controller into doing  
DMA transfers which are smaller than 8KB, which seems to mitigate the  
most significant problems with the chipset, at the cost of some  
performance.

-- 
-Chuck



More information about the freebsd-questions mailing list