I have a new Silicon Image 0680 PCI IDE controller and a CF drive that
I've been struggling with getting working in OpenSolaris.  I've got
2009.06 installed on it successfully and it boots okay, but the speed is
unbearable.  The most I've seen out of it so far is 2 MB/s.  You might
blame the CF drive for that, but in Linux on the same drive and
controller, I'm seeing speeds of 40-50 MB/s.

Linux dd:
> # dd if=/dev/sde of=/dev/null bs=128k
> ^C2385+0 records in
> 2384+0 records out
> 312475648 bytes (312 MB) copied, 6.67316 s, 46.8 MB/s

Linux dmesg:
> pata_sil680 0000:03:00.0: version 0.4.9
> pata_sil680 0000:03:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
> sil680: 133MHz clock.
> scsi6 : pata_sil680
> scsi7 : pata_sil680
> ata7: PATA max UDMA/133 cmd 0xec00 ctl 0xe880 bmdma 0xe400 irq 18
> ata8: PATA max UDMA/133 cmd 0xe800 ctl 0xe480 bmdma 0xe408 irq 18
> ata7.00: CFA: ELITE PRO CF CARD 32GB, 20081204, max UDMA/66
> ata7.00: 62537328 sectors, multi 0: LBA 
> ata7.00: configured for UDMA/66
> ata7.00: configured for UDMA/66
> ata7: EH complete
> scsi 6:0:0:0: Direct-Access     ATA      ELITE PRO CF CAR 2008 PQ: 0 ANSI: 5
> sd 6:0:0:0: [sde] 62537328 512-byte hardware sectors: (32.0 GB/29.8 GiB)
> sd 6:0:0:0: [sde] Write Protect is off
> sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
> sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support 
> DPO or FUA
> sd 6:0:0:0: [sde] 62537328 512-byte hardware sectors: (32.0 GB/29.8 GiB)
> sd 6:0:0:0: [sde] Write Protect is off
> sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
> sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support 
> DPO or FUA
>  sde: sde1
>  sde1: <solaris: [s0] sde5 [s2] sde6 [s8] sde7 >
> sd 6:0:0:0: [sde] Attached SCSI disk
> sd 6:0:0:0: Attached scsi generic sg5 type 0



OpenSolaris dd:
> # dd if=/dev/dsk/c7d0s2 of=/dev/null bs=128k
> ^C160+0 records in
> 159+0 records out
> 20840448 bytes (21 MB) copied, 10.1882 s, 2.0 MB/s

OpenSolaris dmesg:
> Jun  7 17:23:26 hawk npe: [ID 236367 kern.info] PCI Express-device: 
> pci8086,2...@1e, pci_pci0
> Jun  7 17:23:26 hawk genunix: [ID 936769 kern.info] pci_pci0 is 
> /p...@0,0/pci8086,2...@1e
> Jun  7 17:23:26 hawk pcplusmp: [ID 805372 kern.info] pcplusmp: pci-ide 
> (pci-ide) instance 0 irq 0x12 vector 0x40 ioapic 0x4 intin 0x12 is bound to 
> cpu 2
> Jun  7 17:23:26 hawk genunix: [ID 640982 kern.info]     IDE device at targ 0, 
> lun 0 lastlun 0x0
> Jun  7 17:23:26 hawk genunix: [ID 846691 kern.info]     model ELITE PRO CF 
> CARD 32GB
> Jun  7 17:23:26 hawk pci_pci: [ID 370704 kern.info] PCI-device: i...@0, ata0
> Jun  7 17:23:26 hawk genunix: [ID 936769 kern.info] ata0 is 
> /p...@0,0/pci8086,2...@1e/pci-...@0/i...@0
> Jun  7 17:23:26 hawk gda: [ID 243001 kern.info] Disk0:  <Vendor 'Gen-ATA ' 
> Product 'ELITE PRO CF CAR'>
> Jun  7 17:23:26 hawk ata: [ID 496167 kern.info] cmdk0 at ata0 target 0 lun 0
> Jun  7 17:23:26 hawk genunix: [ID 936769 kern.info] cmdk0 is 
> /p...@0,0/pci8086,2...@1e/pci-...@0/i...@0/c...@0,0
> Jun  7 17:23:28 hawk genunix: [ID 308332 kern.info] root on 
> rpool/ROOT/opensolaris fstype zfs

OpenSolaris prtpicl:
>                  pci-ide (pci-ide, b0000003c8)
>                   :DeviceID      0 
>                   :UnitAddress   3 
>                   :device-id     0x680 
>                   :vendor-id     0x1095 
>                   :revision-id   0x2 
>                   :unit-address  0 
>                   :subsystem-id  0x680 
>                   :subsystem-vendor-id   0x1095 
>                   :min-grant     0 
>                   :max-latency   0 
>                   :interrupts    0x1 
>                   :devsel-speed  0x1 
>                   :fast-back-to-back
>                   :power-consumption     01  00  00  00  01  00  00  00 
>                   :model         Mass storage controller 
>                   :compatible   (b0000003d8TBL) 
>                    | pci1095,680.1095.680.2 |
>                    | pci1095,680.1095.680 |
>                    | pci1095,680 |
>                    | pci1095,680.2 |
>                    | pci1095,680 |
>                    | pciclass,018000 |
>                    | pciclass,0180 |
>                   :reg  
>  00  00  03  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  
> 00  10  00  03  01  00  00  00  00  00  00  00  00  00  00  00  00  08  00  
> 00  00  14  00  03  01  00  00  00  00  00  00  00  00  00  00  00  00  01  
> 00  00 
>  00  18  00  03  01  00  00  00  00  00  00  00  00  00  00  00  00  08  00  
> 00  00  1c  00  03  01  00  00  00  00  00  00  00  00  00  00  00  00  01  
> 00  00  00  20  00  03  01  00  00  00  00  00  00  00  00  00  00  00  00  
> 10  00 
>  00  00  24  00  03  02  00  00  00  00  00  00  00  00  00  00  00  00  00  
> 01  00  00 
>                   :assigned-addresses   
>  10  00  03  81  00  00  00  00  00  ec  00  00  00  00  00  00  08  00  00  
> 00  14  00  03  81  00  00  00  00  82  e8  00  00  00  00  00  00  01  00  
> 00  00  18  00  03  81  00  00  00  00  00  e8  00  00  00  00  00  00  08  
> 00  00 
>  00  1c  00  03  81  00  00  00  00  82  e4  00  00  00  00  00  00  01  00  
> 00  00  20  00  03  81  00  00  00  00  00  e4  00  00  00  00  00  00  10  
> 00  00  00  24  00  03  82  00  00  00  00  00  fc  bf  fe  00  00  00  00  
> 00  01 
>  00  00 
>                   :device_type   pci-ide 
>                   :#address-cells        0x1 
>                   :#size-cells   0 
>                   :fm-errcb-capable
>                   :class-code    0x18085 
>                   :devfs-path    /p...@0,0/pci8086,2...@1e/pci-...@0 
>                   :driver-name   pci-ide 
>                   :binding-name  pci-ide 
>                   :bus-addr      0 
>                   :instance      0 
>                   :_class        pci-ide 
>                   :name  pci-ide 
>                      ide (ide, b0000003ed)
>                       :UnitAddress       0 
>                       :reg       0 
>                       :timing_flags      0 
>                       :drive1_block_factor       0x1 
>                       :drive0_block_factor       0x1 
>                       :ata-options       0x1 
>                       :max_transfer      0x100 
>                       :queue     qfifo 
>                       :flow_control      dmult 
>                       :device_type       ide 
>                       :devfs-path        
> /p...@0,0/pci8086,2...@1e/pci-...@0/i...@0 
>                       :driver-name       ata 
>                       :binding-name      ide 
>                       :bus-addr  0 
>                       :instance  0 
>                       :_class    ide 
>                       :name      ide 
>                          cmdk (block, b0000003fe)
>                           :disk  dadk 
>                           :devid         
> id1,c...@aelite_pro_cf_card_32gb=20081205____00001b70 
>                           :class         dada 
>                           :target        0 
>                           :lun   0 
>                           :class_prop    dada 
>                           :device-blksize        0x200 
>                           :lba-access-ok
>                           :ddi-kernel-ioctl
>                           :pm-hardware-state     needs-suspend-resume 
>                           :pm-components        (b000000407TBL) 
>                            | NAME=cmdk |
>                            | 0=off |
>                            | 1=on |
>                           :devfs-path    
> /p...@0,0/pci8086,2...@1e/pci-...@0/i...@0/c...@0,0 
>                           :driver-name   cmdk 
>                           :binding-name  cmdk 
>                           :bus-addr      0,0 
>                           :instance      0 
>                           :_class        block 
>                           :name  cmdk 
>                      ide (obp-device, b000000415)
>                       :UnitAddress       1 
>                       :reg       0x1 
>                       :devfs-path        
> /p...@0,0/pci8086,2...@1e/pci-...@0/ide 
>                       :driver-name       ata 
>                       :binding-name      ide 
>                       :instance  -1 
>                       :_class    obp-device 
>                       :name      ide


So far I've only tried enabling and disabling DMA using the
"ata-disk-dma-enabled" kernel parameter to no effect besides being even
slower without DMA, 1.2 MB/s.  What else can I try?  Has anyone else
heard of problems like this?

Thanks.
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to