[net.sources] Easy 50 ips on TU80

Don Speck <speck@cit-vax.ARPA> (02/05/85)

    A TU80 will switch into 25 ips streaming mode iff it gets at least
15 back-to-back writes, and will then try to switch into 100 ips mode.

    Following is an easy patch to get 4.2bsd /etc/dump to stream a TU80
at 100 ips, every other second.  It streams the tape for a second, then
shakes the disk for a second, streams, shakes, ... giving an average
throughput of about 50 ips.  This was on a 750 with FPA, some raw I/O
efficiency patches (coming soon), and kernel profiling compiled in.
It will do no good on a 730 or a start/stop drive.  Your speed and
line numbers may vary.
						Don

diff /usr/src/etc/dump/dumptape.c dumptu80.c
22c22,24
<	tblock = (char (*)[TP_BSIZE])malloc(writesize);
---
> #define CLUSTER 15	/* # of back-to-back writes to get TU80 streaming */
>	ntrec *= CLUSTER;	/* -- BEWARE -- when changing dumptape.c */
>	tblock = (char (*)[TP_BSIZE])malloc(CLUSTER*writesize);
69,71c71,73
<
<	trecno = 0;
<	if (write(to, tblock[0], writesize) != writesize){
---
>	char *wp = tblock[0];
>	for (trecno=CLUSTER; --trecno>=0; wp+=writesize)
>	    if (write(to, wp, writesize) != writesize){
99,100c101,103
<	asize += writesize/density;
<	asize += 7;
---
>	trecno = 0;
>	asize += CLUSTER*writesize/density;
>	asize += CLUSTER*10;		/* TU80's usually stretch out IRG's */