Date: Sat, 25 Sep 1999 22:45:15 +0200 (MET DST) From: Gerard Roudier <groudier@club-internet.fr> To: scsi@FreeBSD.ORG Subject: sym driver 0.3.0 Message-ID: <Pine.LNX.3.95.990925220854.343A-100000@localhost> In-Reply-To: <Pine.LNX.3.95.990923234606.349B-200000@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
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. This driver is still under development. Patches are hosted at the ftp site 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 100% scalability. Notes: (1) Only supported by the LSI53C1010 and not yet 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. Files: README.sym this file sym_conf.h driver configuration sym_defs.h driver definitions sym_hipd.c driver code sym_sys.patch kernel 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 /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 ignore SYM53C8XX chips that support LOAD/STORE. These devices will 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 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 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 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 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 target 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 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. 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=/dev/rda0 of=/dev/null ibs=4096 obs=16384 count=200000 & dd if=/dev/rda1 of=/dev/null ibs=4096 obs=16384 count=200000 & The result for 4K IO chunk is very interesting, since the hard disks are mostly streaming data at their full sustaint data rate with this test. - Total latency per IO = 112 micro-seconds (8900 Tps) - 4K transfer time, assuming 80 MB/s transfer, = 50 micro-seconds - So, the total command overhead without data transfer is less 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. By the way, a SYM53C895 will give about same result. Gérard. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.3.95.990925220854.343A-100000>
