From owner-freebsd-scsi Sat Sep 25 13:26:56 1999 Delivered-To: freebsd-scsi@freebsd.org Received: from front1m.grolier.fr (front1m.grolier.fr [195.36.216.51]) by hub.freebsd.org (Postfix) with ESMTP id 5217A15655 for ; Sat, 25 Sep 1999 13:24:50 -0700 (PDT) (envelope-from groudier@club-internet.fr) Received: from localhost (ppp-102-76.villette.club-internet.fr [194.158.102.76]) by front1m.grolier.fr (8.9.3/No_Relay+No_Spam_MGC990224) with SMTP id WAA15440 for ; Sat, 25 Sep 1999 22:24:34 +0200 (MET DST) Date: Sat, 25 Sep 1999 22:45:15 +0200 (MET DST) From: Gerard Roudier X-Sender: groudier@localhost To: scsi@FreeBSD.ORG Subject: sym driver 0.3.0 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hello, I have made available revision 0.3.0 of the sym_hipd driver for FreeBSD-CAM. This driver version behaves correctly on QUEUE FULL condition and has been rock solid for me.=20 This driver is still under development. Patches are hosted at the ftp site= =20 with the ncr53c8xx/sym53c8xx drivers updates: ftp://ftp.tux.org/pub/roudier/drivers/freebsd/experimental/ Here's an excerpt of the README file: ------------------------------------------------------------------------- Status: EXPERIMENTAL This driver is currently developped under the following O/S: FreeBSD 4.0 SNAPSHOT July 5th 1999 Latest revision: sym-0.3.0-1990925 Supported SCSI features: - Initiator mode - Wide 16 SCSI BUS - FAST10 up to FAST80-DT synchronous data transfers (1) (depends on controller capabilities) - 64 luns per target - 256 tags per lun (3) - MDP (2) - BUS DEVICE RESET message (2) - ABORT, ABORT TAG message (2) Supported chip features: - On chip RAM - PCI optimized transactions. Supported features of 896/895A/1010: - Full SCRIPTS in on-board RAM (8K) - Phase mismatch handling from SCRIPTS. Others: - SYMBIOS NVRAM layout using 24c16 EEPROM - TEKRAM NVRAM layout using 24c16 EEPROM (2) - TEKRAM NVRAM layout using 93c46 EEPROM - Transfer residuals - 0(1) for both SCRIPTS and C code, allowing=20 100% scalability. Notes: (1) Only supported by the LSI53C1010 and not yet=20 tested due to lack of C1010 based controller. (2) Not yet checked. May not work as expected. (3) Tags/Lun set to 64 for the moment. =20 Files: README.sym=09=09this file sym_conf.h=09=09driver configuration sym_defs.h=09=09driver definitions sym_hipd.c=09=09driver code sym_sys.patch=09=09kernel patch Installation: 1) Untar SYM-0.0.0-990915.tar.gz 2) Copy README.sym, sym_conf.h, sym_defs.h and sym_hipd.c to=20 /usr/src/sys/pci/ 3) Change to /usr/src/sys/ directory 4) Apply the unified patch sym_sys.patch (only if ncr also configured) This patch applies a change to the ncr.c driver that forces it to=20 ignore SYM53C8XX chips that support LOAD/STORE. These devices will=20 be attached by the sym_hipd.c driver. 5) Change to /usr/src/sys/pci/ directory Apply the following patches in that order: PATCH-SYM-0.1.0-19990919 PATCH-SYM-0.2.0-19990922 PATCH-SYM-0.3.0-19990925 Configuring and building the kernel: Since only people that know what they do are allowed to use=20 this driver, such an operation should be just trivial for them. :-) Warnings: - The error recovery pathes of this driver haven't yet been fully tested. For this reason, you should not install this driver on a system that=20 is known to experience SCSI errors other than QUEUE FULL status. (The QUEUE FULL handling has been tested and fixed in revision 0.3.0) - This driver uses LOAD/STORE instructions from SCRIPTS and thus does=20 not support earliest NCR chips (NCR53C810, NCR53C815, NCR53C825). Versionning: - The version number consists in 3 numbers X.Y.Z, starting with 0.0.0. - Z will not be used for incremental patches, but may be used for=20 quick fixes. - Incremental diff files are of the following pattern: PATCH-SYM-X.Y.Z-YYYYMMDD They must be applied from directory: /usr/src/sys/pci/ - Version 1.0.0 will add support for the C1010 (Ultra-3 DT data transfers) - Version 2.0.0 is not planned for now, but will add support for host targe= t=20 mode if it will ever exist. Change log: * SYM-0.0.0-19990915 Initial release. * SYM-0.1.0-19990919 (diff file PATCH-SYM-0.1.0-19990919 Add NVRAM support for latest Tekram boards using 24c16 EEPROM. * SYM-0.2.0-19990922 (diff file PATCH-SYM-0.2.0-19990922 Add PPR negotiation and Ultra3 DT transfers for the LSI53C1010. This corresponding code is untested since I haven't yet the=20 hardware. But the driver is not broken for current chips. * SYM-0.5.0-19990925 (diff file PATCH-SYM-0.2.0-19990925 Source review. Testing of the QUEUE FULL handling (some fixes applied). -------------------------------------------------------------------------- The driver is very fast for me. My 2 fastest HDs (DRVS LVD and Cheatah2 LVD) are not enough to really overload a single SCSI channel of the 896.=20 Latency seems very low. For exemple, reading the both drives using 'dd' at the same time, I get the following results: IO chunk Tps 1K 11600 2K 10600 3K 9450 4K 8900 Ex. for 4K chunk: dd if=3D/dev/rda0 of=3D/dev/null ibs=3D4096 obs=3D16384 count=3D200000 & dd if=3D/dev/rda1 of=3D/dev/null ibs=3D4096 obs=3D16384 count=3D200000 & The result for 4K IO chunk is very interesting, since the hard disks are=20 mostly streaming data at their full sustaint data rate with this test. - Total latency per IO =3D 112 micro-seconds (8900 Tps) - 4K transfer time, assuming 80 MB/s transfer, =3D 50 micro-seconds=20 - So, the total command overhead without data transfer is less=20 than 62 micro-seconds. For sure, faster things exist, but I would be interested in knowing about how similar controllers from other vendors actually perform in the same situation.=20 By the way, a SYM53C895 will give about same result. G=E9rard.=20 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message