From owner-freebsd-hardware@FreeBSD.ORG Tue May 28 16:33:11 2013 Return-Path: Delivered-To: freebsd-hardware@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DD09C40F for ; Tue, 28 May 2013 16:33:11 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-ee0-f41.google.com (mail-ee0-f41.google.com [74.125.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 75136804 for ; Tue, 28 May 2013 16:33:11 +0000 (UTC) Received: by mail-ee0-f41.google.com with SMTP id d4so4947840eek.28 for ; Tue, 28 May 2013 09:33:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=cga4O5N8XEPZ2gLnqwwlr+FxsGEGwtIdP2m83keMtcM=; b=Hjwa83IbpIdKXGvNkFOnWBnDe+L/ScKQhqIEIDJEP1NiMaE/HCMoToe7O2No7ZYsNL j/rgI9zK5GxnqvblxdnF1tyJ6hUkFXBcH8o4uYR1pkWT1ezC4yuvgybSMNr+w8OXHrEK irR82J1HGZdAoZJ9F1gZyEbz50aSMEZJWzEik5sQLrHBCdomMMNbSbvwH/+Z0fUHz2Mz 7DFHBzpQcSafqjr4Do5603tws7YYTEAXLcGAkNG8bG7OXp8kjU6kqSd7hdKl8DbnCaB9 vEPrrEwkv5cIVhBVAN8QSamlNJ4SvKhrEVL7GVy0uOgqXKDWzhoR1gYUaW3Zlu/tksBr PHIA== X-Received: by 10.14.10.9 with SMTP id 9mr14990114eeu.75.1369758790449; Tue, 28 May 2013 09:33:10 -0700 (PDT) Received: from mavbook.mavhome.dp.ua (mavhome.mavhome.dp.ua. [213.227.240.37]) by mx.google.com with ESMTPSA id s43sm48891875eem.13.2013.05.28.09.33.07 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 28 May 2013 09:33:09 -0700 (PDT) Sender: Alexander Motin Message-ID: <51A4DC42.30705@FreeBSD.org> Date: Tue, 28 May 2013 19:33:06 +0300 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130413 Thunderbird/17.0.5 MIME-Version: 1.0 To: Mike Tancsa Subject: Re: Rocket Raid 622 in AHCI mode References: <51A4B34F.7000505@sentex.net> In-Reply-To: <51A4B34F.7000505@sentex.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hardware@freebsd.org" X-BeenThere: freebsd-hardware@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General discussion of FreeBSD hardware List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 May 2013 16:33:11 -0000 On 28.05.2013 16:38, Mike Tancsa wrote: > I picked up an external PMP/Cage/RR6622 combo that claims to be Sata > III. From the BIOS, the card implies it does indeed see the SATA III drives > > Pic of the BIOS here > http://tancsa.com/rr.jpg I am not sure what does that number on photo mean, but I haven't even heard about any SATA3.x port multipliers yet. SiI3826 (as I can identify it from below) is not a new one and AFAIK only SATA 2.x. > ahci0: port > 0x4090-0x4097,0x4080-0x4083,0x4070-0x4077,0x4060-0x4063,0x4050-0x405f > mem 0xc2430000-0xc24307ff irq 16 at device 0.0 on pci1 > ahci0: AHCI v1.00 with 2 6Gbps ports, Port Multiplier supported with FBS > ahcich0: at channel 0 on ahci0 > ahcich1: at channel 1 on ahci0 Yes, "2 6Gbps ports, Port Multiplier supported with FBS" is what this line of Marvell chip formally reports and it sounds great. I've tested it quite a long ago, but IIRC while it was fast enough with direct disk connection, it was quite slow working with port multipliers. > However, performance is abysmal and worse than using a regular sii based > SATA II card. SiI3124 still was not beaten. > It sees the PMP and cage as > > pmp0 at ahcich1 bus 0 scbus1 target 15 lun 0 > pmp0: ATA-0 device > pmp0: 300.000MB/s transfers (SATA 2.x, NONE, PIO 8192bytes) > pmp0: 5 fan-out ports > ada1 at ahcich1 bus 0 scbus1 target 0 lun 0 > ada1: ATA-8 SATA 3.x device > ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) > ada1: Command Queueing enabled > ada1: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C) > ada1: Previously was known as ad6 > ada2 at ahcich1 bus 0 scbus1 target 1 lun 0 > ada2: ATA-8 SATA 3.x device > ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) > ada2: Command Queueing enabled > ada2: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C) > ada2: Previously was known as ad7 > ada3 at ahcich1 bus 0 scbus1 target 2 lun 0 > ada3: ATA-8 SATA 3.x device > ada3: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) > ada3: Command Queueing enabled > ada3: 1430799MB (2930277168 512 byte sectors: 16H 63S/T 16383C) > ada4 at ahcich1 bus 0 scbus1 target 3 lun 0 > ada4: ATA-8 SATA 3.x device > ada4: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) > ada4: Command Queueing enabled > ada4: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C) > ada5 at ahcich1 bus 0 scbus1 target 4 lun 0 > ada5: ATA-8 SATA 3.x device > ada5: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) > ada5: Command Queueing enabled > ada5: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C) > > # camcontrol devlist > at scbus1 target 0 lun 0 (ada1,pass2) > at scbus1 target 1 lun 0 (ada2,pass3) > at scbus1 target 2 lun 0 (ada3,pass4) > at scbus1 target 3 lun 0 (ada4,pass5) > at scbus1 target 4 lun 0 (ada5,pass6) > at scbus1 target 15 lun 0 (pmp0,pass1) > at scbus2 target 0 lun 0 (pass0,ada0) > > Writing to the individual disks seems fine, but when all the disks are > engaged, its very slow > > # zpool create -f tank raidz ada1 ada2 ada3 ada4 ada5 > > # dd if=/dev/zero of=/tank/test1 bs=2048k count=10 > 10+0 records in > 10+0 records out > 20971520 bytes transferred in 60.370025 secs (347383 bytes/sec) > # zpool export tank; zpool import tank > # dd if=/tank/test1 of=/dev/null bs=2048k > 10+0 records in > 10+0 records out > 20971520 bytes transferred in 7.678915 secs (2731052 bytes/sec) ZFS in RAIDZ does simultaneous I/O to all disks, that is probably the most complicated case. Though I can hardly believe it can be that slow. Even without any FBS support in HBA I would expected at least 100MB/s / 5 = 20MB/s, but definitely not 350KB/s. > # for i in `jot 5 1`; do dd if=/dev/ada$i of=/dev/null count=200 > bs=2048k;done > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 3.211699 secs (130594554 bytes/sec) > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 3.034111 secs (138238327 bytes/sec) > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 3.639701 secs (115237601 bytes/sec) > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 2.841386 secs (147614716 bytes/sec) > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 3.020611 secs (138856154 bytes/sec) > # > > # for i in `jot 5 1`; do dd if=/dev/zero of=/dev/ada$i count=200 > bs=2048k;done > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 3.285333 secs (127667539 bytes/sec) > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 3.043410 secs (137815945 bytes/sec) > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 3.611478 secs (116138154 bytes/sec) > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 2.830386 secs (148188414 bytes/sec) > 200+0 records in > 200+0 records out > 419430400 bytes transferred in 2.987366 secs (140401412 bytes/sec) > # > > Any ideas on how to fix this controller to make it work better with ZFS > and get better speeds ? Good question. One of several about these Marvell controllers, caused by lack of any public documentation. :( -- Alexander Motin