Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!cbosgd!ihnp4!houxm!vax135!cornell!uw-beaver!tektronix!decvax!genrad!mit-eddie!godot!harvard!seismo!brl-tgr!tgr!speck@cit-vax.ARPA From: Don SpeckNewsgroups: net.unix-wizards Subject: Easy 50 ips on TU80 (4.2bsd /etc/dump) Message-ID: <8021@brl-tgr.ARPA> Date: Tue, 5-Feb-85 03:36:56 EST Article-I.D.: brl-tgr.8021 Posted: Tue Feb 5 03:36:56 1985 Date-Received: Fri, 8-Feb-85 01:48:57 EST Sender: news@brl-tgr.ARPA Organization: Ballistic Research Lab Lines: 35 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 */