From owner-freebsd-hardware@FreeBSD.ORG Thu Feb 10 07:18:25 2011 Return-Path: Delivered-To: freebsd-hardware@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AF67E1065679 for ; Thu, 10 Feb 2011 07:18:25 +0000 (UTC) (envelope-from jose.amengual@gmail.com) Received: from mail-pv0-f182.google.com (mail-pv0-f182.google.com [74.125.83.182]) by mx1.freebsd.org (Postfix) with ESMTP id 7EA1D8FC1E for ; Thu, 10 Feb 2011 07:18:25 +0000 (UTC) Received: by pvc22 with SMTP id 22so196947pvc.13 for ; Wed, 09 Feb 2011 23:18:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:subject:mime-version:content-type:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to:x-mailer; bh=ZEqCEbOJxraEk4qV8Uhx+L5xNmB87x6iQo2B1EYsGWc=; b=G5G4BCvaajReKOQ8SCrn0JudSgwJnHHHN4/V33pPQpyI02iylFH4wJ39FU5QdSrmPt 0bQaH5N1exx9mp7YptmPgxVyz+p1LBjNbqsREMIgly0GG3cwLXMKZcVCVYLwv1dXmAP4 vZlbPf1Uuxb7ArOvd2rBtnmGgTRYT74ehhxVo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=mwP1LnV5qocyXSNIyBT/XyyInwK1szsKoBk1n9GXFArGNdILWegJONKB5iJngGNhQ6 T2TQrWHdB37VKmVm2yuhKBxqBoLRZykuxpbPa9hMni0fvfT4O305rOKVolalWrBiSfPI U22/G+ecakwKySfhDX8TF+JntlVDEAPlC3A+w= Received: by 10.142.131.20 with SMTP id e20mr19489044wfd.309.1297322304895; Wed, 09 Feb 2011 23:18:24 -0800 (PST) Received: from [192.168.18.100] (S0106001310f0bb09.vc.shawcable.net [24.84.209.121]) by mx.google.com with ESMTPS id x18sm1492427wfa.23.2011.02.09.23.18.21 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 09 Feb 2011 23:18:22 -0800 (PST) Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii From: Jose Amengual In-Reply-To: <8CD96D1A47516BC-11A8-283B@web-mmc-d01.sysops.aol.com> Date: Wed, 9 Feb 2011 23:18:19 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <2041CDFF-99EA-4D58-BC17-AF847A17ABF6@gmail.com> References: <8CD96D1A47516BC-11A8-283B@web-mmc-d01.sysops.aol.com> To: dieterbsd@engineer.com X-Mailer: Apple Mail (2.1082) Cc: freebsd-hardware@freebsd.org Subject: Re: Addonics SIS3124 Controller and T X-BeenThere: freebsd-hardware@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General discussion of FreeBSD hardware List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 07:18:25 -0000 On 2011-02-09, at 4:36 PM, dieterbsd@engineer.com wrote: > Jose Amengual writes: >> Strangely enough just switching drives now I can see all ten, weird >> but is working now. >=20 > Perhaps there was a loose connection or something. I think so=20 >=20 >> I'm confused why you are referring to a JMB393s if my card has a >> siis3124 chip....or are you referring o the PMs? >=20 > If I'm reading > http://www.addonics.com/products/raid_tower/raid_rack.asp > correctly, it comes with 4 SATA Port Multipliers based on > the JMB393 chip. I see.... >=20 > Do you get something like >=20 > PM Product ID: 37261095 I will check >=20 > in dmesg? I just got a PM based on the Sil3726. So far so good. > I've been running some simple speed tests on it and various > controllers. If you and your machine have a few minutes to spare, > I'd love to see similar numbers for the siis3124 controller and the > JMB393 PM. >=20 > First I ran one disk at a time: >=20 > nforce4-ultra controller chipset ata(4) > ad4 249.404517 MB/s > ad6 250.143419 MB/s > ad8 239.214086 MB/s > ad10 249.628334 MB/s >=20 > SiI 3132 PCIe-x1 siis(4) > ada0 127.737664 MB/s > ada1 110.236024 MB/s > ada2 110.210423 MB/s >=20 > JMB363 PCIe-x1 ahci(4) > ada3 131.443644 MB/s > Sil3726 Port Multiplier > ada4 130.895997 MB/s > ada5 130.259701 MB/s > ada6 132.400908 MB/s > ada7 114.306864 MB/s > ada8 130.986963 MB/s >=20 > I need to rerun the tests (machine is busy right now) and see if the > results are consistant. Some of the differences may be due to the > different make & model drives. >=20 > 2 disks at once - port multiplier drives ada4, ada5 > 48.034694 MB/s and 48.034701 MB/s > Total: 96.069395 MB/s >=20 > 2 disks at once - same card (jmb363) ada3 direct connection, ada5 via = PM > 86.059754 MB/s and 85.664682 MB/s > Total: 171.724436 MB/s >=20 > 3 disks at once - port multiplier drives ada4, ada5, ada6 > 31.728884 MB/s, 31.727878 MB/s, and 31.727715 MB/s > Total: 95.184477 MB/s >=20 > 4 disks at once - port multiplier drives ada4, ada5, ada6, ada8 > 23.657665 MB/s 23.657404 MB/s 23.657416 MB/s 23.657436 MB/s > Total: 94.629921 MB/s >=20 > 5 port multiplier disks at once > 18.660235 MB/s 18.659920 MB/s 18.659928 MB/s 18.659925 MB/s > 18.665027 MB/s > 5 port multiplier disks at once plus the other port of the jmb363 > 105.348778 MB/s 17.821848 MB/s 17.821214 MB/s 17.821113 MB/s > 17.821120 MB/s 17.821458 MB/s > PM total (5 drives): 89.106753 MB/s > Card total (6 drives): 194.455531 MB/s >=20 > Neither the 3132 nor the 363 controllers can max out the PCIe-x1 link > (250 MB/s each direction). Previous testing indicates that both > achive a higher total with one disk reading and the other writing. > (not sure why) Port multipliers may be the same, I haven't had time > to test that case yet. I also want to test the PM with the 3132. >=20 > Silicon Image SATA controllers are not the fastest. The JMB363 is > faster than the 3132, so I wonder if the JMB393 port multiplier is > faster than the Sil3726? I've read that the 3124 controller is > fast, the question is how fast? >=20 > Below is the small C program I used. It just reads a small amount > of data over and over again from the drive's RAM cache. This avoids > limitations of data density on the platters, rpm, seek time, etc. >=20 >=20 I check the raid controler and it doesn't have anything to enable any = level of caching but I have a Supermicro sata controller with cache = memory and and Intel chip that I will use for some testings. > /* > * read_disk_cache_speed.c > * > * Read data from a disk's RAM cache buffer. > * Useful for testing the speed of controllers and port multipliers > * without the limitation of how fast the disk can read data from the > * platters. Note that the drive's electronics could still be the > * limiting factor. > * > * Syntax: read_disk_cache_speed device readsize iterations > * FreeBSD: > * read_disk_cache_speed /dev/ada0 65536 10000 > * NetBSD: > * read_disk_cache_speed /dev/rwd0c 65536 10000 > * > * Original program was by: > * Manuel Bouyer > * NetBSD: 26 ans d'experience feront toujours la difference > * Updated by: > * Dieter > * Added command line argument for buffer/read size. > * (originally hard coded at 64 KiB) > * Read data into drive's RAM buffer before beginning timing. > * > */ >=20 > #include > #include > #include > #include > #include >=20 > int > main(int argc, char **argv) > { > int fd; /* file descriptor */ > int i; /* loop counter */ > struct timeval tv0, tv1; > long t; /* elapsed time */ > char *buffer; > long buffer_size; >=20 > if ( argc !=3D 4 ) > { > fprintf(stderr, "Syntax: %s device readsize iterations\n", > argv[0]); > fprintf(stderr, "Example: %s /dev/ada4 65536 10000\n", argv[0]); > exit(1); > } >=20 > buffer_size =3D atoi(argv[2]); > buffer =3D malloc(buffer_size); > if ( buffer =3D=3D NULL ) > { > perror("malloc failed"); > exit(1); > } >=20 > fd =3D open(argv[1], O_RDONLY, 0); > if (fd < 0) > { > perror("open failed"); > exit(1); > } > /* Get the data from the platter into the drive's RAM buffer > * before we start timing. > */ > if (read(fd, (void *)buffer, buffer_size) !=3D buffer_size) > { > perror("read failed"); > exit(1); > } > if (lseek(fd, 0, SEEK_SET) < 0) > { > perror("lseek failed"); > exit(1); > } >=20 > if (gettimeofday(&tv0, NULL) < 0) > { > perror("gettimeofday failed"); > exit(1); > } > for (i =3D 0; i < atoi(argv[3]); i++) > { > if (read(fd, (void *)buffer, buffer_size) !=3D buffer_size) > { > perror("read failed"); > exit(1); > } > if (lseek(fd, 0, SEEK_SET) < 0) > { > perror("lseek failed"); > exit(1); > } > } > if (gettimeofday(&tv1, NULL) < 0) > { > perror("gettimeofday failed"); > exit(1); > } > t =3D (tv1.tv_sec - tv0.tv_sec) * 1000000; > t =3D t + tv1.tv_usec - tv0.tv_usec; > printf("%ld us, %f MB/s\n", t, > ((double)buffer_size * (double)i / 1000000) / ((double)t / = 1000000)); > exit(0); > } I will use your program to test my hds and I will let you know. >=20 > Total: 93.305028 MB/s >=20 >=20 > _______________________________________________ > freebsd-hardware@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hardware > To unsubscribe, send any mail to = "freebsd-hardware-unsubscribe@freebsd.org"