*BSD News Article 32643


Return to BSD News archive

Xref: sserve comp.os.386bsd.development:2313 comp.os.386bsd.questions:11497 comp.unix.bsd:14309 comp.periphs.scsi:22317
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!news.Hawaii.Edu!ames!hookup!swrinde!howland.reston.ans.net!EU.net!Austria.EU.net!newsfeed.ACO.net!swidir.switch.ch!scsing.switch.ch!news.dfn.de!rrz.uni-koeln.de!RRZ.Uni-Koeln.DE!RRZ.Uni-Koeln.DE!news
From: se@fileserv1.MI.Uni-Koeln.DE (Stefan Esser)
Newsgroups: comp.os.386bsd.development,comp.os.386bsd.questions,comp.unix.bsd,comp.periphs.scsi
Subject: NCR 53c810 PCI SCSI driver for FreeBSD released
Date: 11 Jul 1994 18:26:56 GMT
Organization: Institute of Nuclear Physics, University of Cologne, Germany
Lines: 125
Distribution: world
Message-ID: <2vs2tgINN2e1h@rs1.rrz.Uni-Koeln.DE>
NNTP-Posting-Host: fileserv1.mi.uni-koeln.de
Keywords: PCI,SCSI


NCR 53c810 PCI SCSI driver for FreeBSD					94Jul11
======================================					=======

We are pleased to announce the RELEASE version of our PCI SCSI driver for 
the NCR 53c810 PCI SCSI host adapter chip. Testing with several systems 
(486 and Pentium) makes us believe, that this version should install and 
run with no trouble under FreeBSD 1.1R, 1.1.5R and 1.1.5.1.

The driver sources and a boot floppy image have been made available for 
anon. FTP from:

	FTP.Uni-Koeln.DE:~ftp/packages/FreeBSD

-rw-r--r--   1 339      8000       341130 Jul 11 17:23 386bsd.irq14.tar.gz
-rw-r--r--   1 339      8000       341133 Jul 11 17:23 386bsd.irq9.tar.gz
-rw-r--r--   1 339      8000         5817 Jul 11 16:27 Announce
-rw-r--r--   1 339      8000         3336 Jul 11 16:20 Features
-r--r--r--   1 339      8000         5026 Jul 11 13:39 READ.ME
-r--r--r--   1 339      8000       486832 Jul 11 13:37 kcopy_nc.flp.gz
-rw-r--r--   1 339      8000        62784 Jul 11 16:22 scsi-ncr-2.0.tar.gz


Boot floppy (kcopy_nc.flp.gz)
=============================

If you are going to install the driver on a system with the NCR 53c810 
as the primary (or only) controller (ie. you need a boot floppy), then 
you should get the file "kcopy_nc.flp.gz". Use this file to create a boot
floppy as described in the FreeBSD installation docs, and proceed excactly 
as in a FreeBSD install to a IDE hard disk.

But before doing the first kernel build, you should install the driver 
sources, else the kernel you build won't be able to boot from the NCR !

If you are already running FreeBSD on your system, then all you need is 
the driver sources. You simply unpack the sources into a temp. directory
(where a directory named ncr-scsi-2.0 will be created) and invoke the 
"install" shell script. This script will put the sources into a newly 
created directory (i386/pci) in the kernel source tree and configure and 
rebuild the kernel (you can do this by hand, it's described in a doc file 
that comes with the sources).


Why you should rebuild the kernel
=================================

We found that current PCI motherboards use different ISA interrupts for
the PCI interrupt lines. The driver uses the PCI IntA that may be connected 
to IRQ 9 or IRQ 14, possibly others on different motherboards.

To overcome this problem, the kernel on the NCR boot floppy uses only timer 
interrupts (100 per second) and is thus limited to 800KB/s when reading or 
writing 8KB blocks. This is no problem when installing FreeBSD, and after 
the system is up, you can build the kernel with IntA mapped to a IRQ line 
within a few minutes (see the READ.ME file).

If you can't rebuild your kernel with the correct IRQ value specified, then 
you may want to get a configured kernel instead. You simply copy it to your 
root filesystem and then boot this kernel (keep a backup of the GENERICNCR 
kernel as 386bsd.old). 


Kernels with IRQ9 or IRQ14 configured (386bsd.irq{9,14}.tar.gz)
===============================================================

The kernel with IRQ9 configured is in the file 386bsd.irq9.tar.gz and the one 
with IRQ14 in 386bsd.irq14.tar.gz. You won't need any of these kernels, if you
are intending to install kernel sources and rebuild the kernel on your system! 


Performance achieved
====================

The following are bonnie results from tests under FreeBSD 1.1R (that is 
without the FreeBSD 1.1.5 clustering enhancements).
These tests were run on a Seagate ST31200N (1GB FAST SCSI-2) with only 
30% free space and on a partition starting 100MB into the disk (ie. the 
test could not take advantage of the fastest (outer) zones of this ZBR 
drive). System used was a ASUS 486 motherboard with 486DX2/66.
As you can see from the 100MB results, read performance approaches 3MB/s,
while write performance strongly depends on the use of Tagged Command Queuing
(and improves to 3MB/s under 1.1.5, too).
The %CPU column indicates, that reads and writes require 10% of the 486DX2
per MByte/second transferred, indicating that on this system 10MB/s could 
be achieved (at 100% CPU load). A 90MHz Pentium might be able to transfer 
10MB/s at 30% CPU load (or 30MB/s at 100% :).

These values are not meant to be best performance you'll ever be able to 
see, it's just what we were able to achieve on our development system on 
a partition that was 70% filled and had been used for quite some time.

Let us know, if you see less than this performance on your system!


              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
async      10   640 66.2   548  4.2   281  3.7  1235 96.7  2086 22.0  81.4  7.3
fast.1     10   650 59.1   548  4.0   317  4.9  1274 99.0  2234 26.2  82.7  7.8

fast.2     10   900 99.4   912  7.5   519  7.8  1273 99.2  2318 24.0  82.3  7.9
fast.4     10   895 99.3  1359 12.9   514  9.4  1259 99.2  2235 22.0  83.6  8.2
fast.8     10   889 98.3  1747 16.6   526  9.8  1276 99.2  2318 25.4  82.7  7.4
fast.16    10   902 99.3  1289 12.0   526  8.9  1281 99.4  2054 21.9  83.0  7.9

fast.1    100   591 61.9   583  4.2   342  4.7  1259 97.8  2900 36.3  47.9  4.9
fast.16   100   955 99.3  1402 12.5   583 10.4  1274 98.1  2895 37.2  48.6  4.8

## ASYNC SCSI and FAST SYNC without, with 2, 4, 8 and 16 Tags on 10MB file.  ##
## FAST SYNC without and with 16 Tags on 100MB file.			     ##


We would like to know what performance you get from YOUR system and have for 
this reason included the "bonnie" sources in the driver sources TAR file
(there is a shell script that runs a few interesting tests in the bonnie dir).

If you get some nice results, then let us know about your systems performance!

-- 
 Stefan Esser				Internet:	<se@MI.Uni-Koeln.DE>
 Mathematisches Institut		Tel:		+49 221 4706010
 Universitaet zu Koeln			FAX:		+49 221 4705160
 Weyertal 80
 50931 Koeln