Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site wnuxb.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!ihnp4!wnuxb!Ron Heiby (The Moderator) From: Ron Heiby (The Moderator) Newsgroups: mod.unix Subject: Unix Technical Digest V1 #20 Message-ID: <441@wnuxb.UUCP> Date: Wed, 13-Mar-85 22:47:55 EST Article-I.D.: wnuxb.441 Posted: Wed Mar 13 22:47:55 1985 Date-Received: Thu, 14-Mar-85 06:37:43 EST Sender: netnews@wnuxb.UUCP Reply-To: unix@cbosgd.UUCP Organization: AT&T - Warrenville Data Center, IL Lines: 155 Keywords: NETUNIX BSD4.2 Approved: netnews@wnuxb.UUCP Unix Technical Digest Thu, 14 Mar 85 Volume 1 : Issue 20 Today's Topics: accessing libm.a via pascal Boot problems w/ new kernal and uda50 ctype_.o in /lib/libc.a wrong in 4.2BSD? Easy 50 ips on TU80 (4.2bsd /etc/dump) ---------------------------------------------------------------------- Date: 12 Mar 85 03:19:20 GMT From: gr@watcgl.UUCP (Gr Teaching Package) Subject: accessing libm.a via pascal Students in one of my courses are using Pascal under Berkeley 4.2. They need to access several functions in the math library, but there doesn't seem to be an efficient, warning free technique. It seems that ``pc'' knows about the ``libm.a'' functions because it gives a duplicate definition warning if one defines such a function as external as is normally done for user-defined, external procedures. In spite of the warning, the math routine is linked correctly. If the external definition is omitted, ``pc'' generates an error message about the undefined function. I know of 2 methods to get around the warning: 1) Call an intermediate C function, ``foo'' that calls the appropriate math library routine. 2) Simulate the math routine in Pascal. Unfortunately this won't work for a function like ``pow(x,y)'' because its internal code sets a PSW flag (via an asm directive) to ignore underflow (generated when 0>>BOOT ANY CPU HALTED INIT SEQ DONE LOAD DONE, 00004C00 BYTES LOADED Boot : hp(0,0)vmunix.new 176460+62512+38416 start 0x11a4 ?INT-STK INVLD HALTED AT 8000CCCE >>> ----------------------------------------------------------- This has caused us considerable problems, and we have been unable to trace down the problem. We have been told that the error message is Interrupt-Stack Invalid. The uda50 for the ra81's is on the front end of uba0, and we also have a digital sound system installed (if that makes any difference). If you have ever seen or heard of anything like this please write back quickly (and send a phone number), or call me at home (919) 872-0494 over the weekend (collect, if necessary). Any help would be appreciated. As usual, thanks ahead of time. - jamie evans - decvax!mcnc!ncsu!jle - off: (919) 737-2336 ------------------------------ Date: 11 Mar 85 16:37:32 GMT From: dbr@cybvax0.UUCP (Douglas Robinson) Subject: ctype_.o in /lib/libc.a wrong in 4.2BSD? We have just noticed that the ascii 'SP' (or space, octal 040) is listed as a punctuation character under 4.2BSD. I checked with a V7 compatible system and found it to be listed as only a 'isspace' character NOT 'ispunct'. I strongly disagree to labelling 'SP' as a punctuation character, but before patching ctype_.o I would like to get some opinions. Please mail to me. I will summarize... Please - most importantly: will removing this from the list of punctuation characters break anything under 4.2BSD??? Sorry if this has been discussed before... we don't have enough space to archive discussion newsgroups. -- Doug Robinson Jobs don't kill programmers... programmers kill jobs! Cybermation, Inc. 617/492-8810 377 Putnam Avenue Cambridge, MA 02139 (USA) ...!{mit-eddie, harvard, mirror}!cybvax0!dbr ------------------------------ Date: 5 Feb 85 08:36:56 GMT From: Don Speck Subject: Easy 50 ips on TU80 (4.2bsd /etc/dump) 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 */ ------------------------------ End of Unix Technical Digest ****************************** -- Ronald W. Heiby / ihnp4!{wnuxa!heiby|wnuxb!netnews} AT&T Information Systems, Inc. Lisle, IL (CU-D21)