[comp.unix.i386] Tuning aha1540 driver

larry@focsys.uucp (Larry Williamson) (08/16/90)

A few weeks back (late june, I think) there was a thread here on
tuning the scsi driver for ISC Unix 2.2. I saved most of those
articles since we were planning on installing 1542A's on some machines
here.

I'm doing that now. 

My tests seem to indicate that the default values for BUSON, BUSOFF
and DMASPEED are the fastest. 

I've installed the Sync option jumper on the controller. 

With BUSON 5, BUSOFF 9 and DMASPEED 0; the system seems to be
performing just fine. 

I'm not entirely sure how to modify the DMASPEED parameter. Values of
0 and 1 seem to work, but 2 causes the system to enter the kernel
debugger at boot time. I've not bothered trying a value of 3. How do
these values relate to the DMA speeds of 5, 5.7, 6.7 and 8 Mhz that
the controller is supposed to be able to support? Is it the obvious
0->5, 1->5.7, 2->6.7, 3->8?

The test bed system I'm using is an AMI MB with 4 Meg ram, 64K cache
and 20 Mhz clock.

I'm bothered that if I modify these values in /etc/conf/cf.d/[ms]tune,
I get compiler warnings about these values being redefined. So I've
been modifying them in /usr/include/sys. I don't like this. What is
the normally accepted practice? Ignore the warnings? I hope not.

During these tests I've left the DMA speed selection header on the
board open. This selects the default of 5 Mhz. I'm going to try
other selections on the jumpers. Is there a reason why this is not a
good idea?

Any advise you can offer would be greatly appreciated. Thanks.

-Larry

howardl@wb3ffv.ampr.org ( WB3FFV) (08/19/90)

From article <LARRY.90Aug15125107@focsys.uucp>, by larry@focsys.uucp (Larry Williamson):
> 
> My tests seem to indicate that the default values for BUSON, BUSOFF
> and DMASPEED are the fastest. 
> 
> With BUSON 5, BUSOFF 9 and DMASPEED 0; the system seems to be
> performing just fine. 

Have you tried to use any other settings?  Roy Neese at Adaptec strongly
recomended setting BUSON=7 and BUSOFF=4.  I would think increasing the 
BUSON time would be a BIG help.  I have heard of several people using a 
BUSON of 9 and a BUSOFF of 6, but haven't tried that on my side, as Roy's
recomendations seem to work great.

> I'm not entirely sure how to modify the DMASPEED parameter. Values of
> 0 and 1 seem to work, but 2 causes the system to enter the kernel
> debugger at boot time. I've not bothered trying a value of 3. How do
> these values relate to the DMA speeds of 5, 5.7, 6.7 and 8 Mhz that
> the controller is supposed to be able to support? Is it the obvious
> 0->5, 1->5.7, 2->6.7, 3->8?

Here are the various setting for the DMASPEED:

0 =	5.0  MBytes/sec
1 =	6.7  MBytes/sec
2 =	8.0  MBytes/sec
3 =	10.0 MBytes/sec
4 =	5.7  MBytes/sec

To find the highest possible setting you can use on your system, try using
the Bus Mastering Test which is located in ROM at location dc00:9


> The test bed system I'm using is an AMI MB with 4 Meg ram, 64K cache
> and 20 Mhz clock.

I placed a Adaptec 1542B controller in a 20mhz machine and have it running
at an 8mhz (DMASPEED=2) DMA rate, but this is highly system dependant.


> During these tests I've left the DMA speed selection header on the
> board open. This selects the default of 5 Mhz. I'm going to try
> other selections on the jumpers. Is there a reason why this is not a
> good idea?

This is the correct way to try it, but be sure to run the Bus Mastering 
Tests under MS/DOG in the ROM that I mentioned above.

> Any advise you can offer would be greatly appreciated. Thanks.
 Well there it is, the whole two cents worth!

> -Larry

-------------------------------------------------------------------------------
Internet  : howardl@wb3ffv.ampr.org	|	Howard D. Leadmon
UUCP      : wb3ffv!howardl		|	Advanced Business Solutions
TELEX     : 152252474     		|	210 E. Lombard St - Suite 410
Telephone : (301)-576-8635		|	Baltimore, MD  21202 

src@scuzzy.mbx.sub.org (Heiko Blume) (08/25/90)

larry@focsys.uucp (Larry Williamson) writes:


>A few weeks back (late june, I think) there was a thread here on
>tuning the scsi driver for ISC Unix 2.2. I saved most of those
>articles since we were planning on installing 1542A's on some machines
>here.
>My tests seem to indicate that the default values for BUSON, BUSOFF
>and DMASPEED are the fastest. 

they are not. however this (partly) depends on the scsi devices you have.
you *will* experience higher throughput with disks that do read-ahead, caching
etc. provided you have taken care of various other things (read on).
it also depends on the other cards you have installed. by increasing a
cards buson time (and/or decreasing busoff) you are stealing bus cycles from
the other cards. this can cause problems with floppy controllers etc (you'll
get 'controller timeout error' etc.). you should ONLY do this if your bus
has enough total cycles, i.e. is running fast enough to have time for other
card's DMA. if your bus runs at 6/8MHz the adaptec tends to monopolize the bus
during heavy disk usage if you set DMASPEED and BUSON too high (and BUSOFF
too low). especially funny if you use ethernet cards...
you should configure your motherboards bus speed to 10 or 12 MHz, and, of
course, you must not set the adaptec's DMA speed to anything higher or equal
to the motherboards bus speed.
also note that no board until now groks 10 MB/s DMA (you can set the old
aha-1540 to that :-). therefor the max settable speed of the 1540A is 
8 MB/s.

>I've installed the Sync option jumper on the controller. 

that jumper doesn't matter - it's setting is overridden by ISC's scsi
driver.

>With BUSON 5, BUSOFF 9 and DMASPEED 0; the system seems to be
>performing just fine. 

sure, these are the 'works 100%' parameters. not the 'works 100% and
performs 100%' paramters.

>I'm not entirely sure how to modify the DMASPEED parameter. Values of
>0 and 1 seem to work, but 2 causes the system to enter the kernel
>debugger at boot time. 

since you didn't say what your motherboards bus speed is, i guess you
got a bus error in the kernel ?! that is, the 6.7 MB/s rate was too much.

>I've not bothered trying a value of 3. How do
>these values relate to the DMA speeds of 5, 5.7, 6.7 and 8 Mhz that
>the controller is supposed to be able to support? Is it the obvious
>0->5, 1->5.7, 2->6.7, 3->8?

correct.

>The test bed system I'm using is an AMI MB with 4 Meg ram, 64K cache
>and 20 Mhz clock.

note that motherboards with c&t chipset have(had?) problems with DMA,
for instance my previous board (also ami bios) panic'ed the kernel
during high volume disk transfers when i set the board to 24Mhz.

>I'm bothered that if I modify these values in /etc/conf/cf.d/[ms]tune,
>I get compiler warnings about these values being redefined. So I've
>been modifying them in /usr/include/sys. I don't like this. What is
>the normally accepted practice? Ignore the warnings? I hope not.

perhaps here's the reason why you didn't see any performance improvement.
which settings are actually used?? i don't know if stune comes before
aha1540.h. a workaround would be to set the parameters in stune and
put #ifndefs around the ones in aha1540.h *if* stune comes first.

>During these tests I've left the DMA speed selection header on the
>board open. This selects the default of 5 Mhz. I'm going to try
>other selections on the jumpers. Is there a reason why this is not a
>good idea?

these jumper settings are also overridden by the software.

>Any advise you can offer would be greatly appreciated. Thanks.

you're welcome. don't give up, it's worth it! however, you might have
to do some serious calculations if your machine has, say, a ethernet card
a CPU graphics card, a multiport card etc.
especially if you use the machine as a nfs server you may encounter
starvation problems if the network card's DMA doesn't get the share it needs.

good luck!
-- 
Heiko Blume c/o Diakite   blume@scuzzy.mbx.sub.org    FAX   (+49 30) 882 50 65
Kottbusser Damm 28        blume@netmbx.UUCP           VOICE (+49 30) 691 88 93
D-1000 Berlin 61          blume@netmbx.de             TELEX 184174 intro d
scuzzy Any ACU,e 19200 6919520 ogin:--ogin: nuucp ssword: nuucp

src@scuzzy.mbx.sub.org (Heiko Blume) (08/26/90)

howardl@wb3ffv.ampr.org ( WB3FFV) writes:
>Have you tried to use any other settings?  Roy Neese at Adaptec strongly
>recomended setting BUSON=7 and BUSOFF=4.  I would think increasing the 
>BUSON time would be a BIG help.  I have heard of several people using a 
>BUSON of 9 and a BUSOFF of 6, but haven't tried that on my side, as Roy's
>recomendations seem to work great.

i just set BUSON to 9 and BUSOFF to 5. no problems until now (although you
might experience problems with bus speeds below 10MHz)

>Here are the various setting for the DMASPEED:

>0 =	5.0  MBytes/sec
>1 =	6.7  MBytes/sec
>2 =	8.0  MBytes/sec
>3 =	10.0 MBytes/sec
>4 =	5.7  MBytes/sec

hmm. where did you get these values from? the 154[02]A manual is different.
the 1540(without A) manual defines these. (not sure about the last one).

>I placed a Adaptec 1542B controller in a 20mhz machine and have it running
>at an 8mhz (DMASPEED=2) DMA rate, but this is highly system dependant.

true. i set DMASPEED two 2 and the boot failed (hangs at the boot message).
i now run at DMASPEED 1 (how fast *is* that now? i miss Roy Neese....!)

while i'm at it again i'll post some benchmark results produced by
boonie (posted not too long ago):


              -------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
386/33    100   159 89.5   273 18.4   371 59.9   148 94.2   843 86.9  17.4 15.8

this is on an informtech board, 386/33MHz 32KB cache, 8MB RAM, bus speed 12MHz,
adaptec 1542A, CDC/Imprimis 94181 drive (638MB, 19ms, read-ahead on)
with ISC 2.2 set to BUSON 9, BUSOFF 5, DMASPEED 1. boonie used a 100MB file.

another test i did was writ()ing 100000 1K blocks which does 447 Kb/sec and
read()ing 100000 1K blocks wich does 742 KB/sec.

your mileage will vary !
-- 
Heiko Blume c/o Diakite   blume@scuzzy.mbx.sub.org    FAX   (+49 30) 882 50 65
Kottbusser Damm 28        blume@netmbx.UUCP           VOICE (+49 30) 691 88 93
D-1000 Berlin 61          blume@netmbx.de             TELEX 184174 intro d
scuzzy Any ACU,e 19200 6919520 ogin:--ogin: nuucp ssword: nuucp

src@scuzzy.mbx.sub.org (Heiko Blume) (08/27/90)

src@scuzzy.mbx.sub.org (Heiko Blume) writes:
>>Here are the various setting for the DMASPEED:

>>0 =	5.0  MBytes/sec
>>1 =	6.7  MBytes/sec
>>2 =	8.0  MBytes/sec
>>3 =	10.0 MBytes/sec
>>4 =	5.7  MBytes/sec

>hmm. where did you get these values from? the 154[02]A manual is different.
>the 1540(without A) manual defines these. (not sure about the last one).

i *think* i now know The Real Truth (tm :-) ! the above table should be
the one for the *software*. the *jumpers* on the board allow you to set
5, 5.7, 6.7 and 8 MB/sec in that order. am i correct ?!
-- 
Heiko Blume c/o Diakite   blume@scuzzy.mbx.sub.org    FAX   (+49 30) 882 50 65
Kottbusser Damm 28        blume@netmbx.UUCP           VOICE (+49 30) 691 88 93
D-1000 Berlin 61          blume@netmbx.de             TELEX 184174 intro d
scuzzy Any ACU,e 19200 6919520 ogin:--ogin: nuucp ssword: nuucp

larry@nstar.uucp (Larry Snyder) (08/28/90)

here at nstar, we are running with BUSSON of 9, BUSSOFF of 4 and DMASPEED
of 6.7mhz (using a 1542B, BUSS running at 12.5mhz) and have seen some 
drastic improvements in throughput over that of the default configuration.

Our drives are CDC Wrens IV's - and I assume the the default is that the
cache is enabled on the drives - 


-- 
      Larry Snyder, Northern Star Communications, Notre Dame, IN USA 
            uucp: iuvax!ndmath!nstar!larry  -or-  larry@nstar
     Public Access Unix Site (219) 289-0282 (5 lines/PEP/HST/Hayes-V)

dougp@ico.isc.com (Doug Pintar) (08/29/90)

In article <1990Aug25.120304.21688@scuzzy.mbx.sub.org> src@scuzzy.mbx.sub.org (Heiko Blume) writes:
>larry@focsys.uucp (Larry Williamson) writes:
>>I've installed the Sync option jumper on the controller. 
>
>that jumper doesn't matter - it's setting is overridden by ISC's scsi
>driver.
>
For ISC Unix 2.2, THIS IS NOT TRUE!  The 2.0.2 version DID always force the
adapter into NON-SYNCHRONOUS mode, which probably wasn't right... :-)
To take advantage of synchronous transfers on drives that support them, THIS
JUMPER MUST BE INSTALLED!  There is NO way the software can work around this!

caveat scsor,
DLP

robert@towers.UUCP (Robert Hoquim) (08/29/90)

src@scuzzy.mbx.sub.org (Heiko Blume) writes:

>>Here are the various setting for the DMASPEED:

>>0 =     5.0  MBytes/sec
>>1 =     6.7  MBytes/sec
>>2 =     8.0  MBytes/sec
>>3 =     10.0 MBytes/sec
>>4 =     5.7  MBytes/sec

>hmm. where did you get these values from? the 154[02]A manual is different.
>the 1540(without A) manual defines these. (not sure about the last one).

I think you better check your facts.  The above are correct and are even
explained in the .h file that ISC uses to compile the kernel.  Many of the
things that you stated are either incomplete or completely wrong.  The setup
on this card has been explained many times in the newsgroup and you giving
incorrect information will only confuse people.

I wouldn't usually post this type of message in the group, but you could
confuse a lot of people with your last 2 posts, of incomplete and inaccurate
information.  If someone still needs complete setup information for the
adaptec, send me mail and I will send you back some comprehensive notes from
this group and other sources as how to do it under ISC.


-- 
  Robert Hoquim                                 Small Systems Specialists
  (317)-255-6807                                8500 N. Meridian
..!nstar!towers!robert                          Indianapolis, IN.  46260