ssb@quest.UUCP (Scott Bertilson) (05/25/91)
This actually originated as a reply to e-mail from one of the HFC hackers, but I discovered that I could generalize it, so I thought I'd post it too. Hacking "windows" makes a substantial difference on our SCO machine (news machine with V.32 modems). (It is an easy change to make on the SCO machines because they made "windows" a variable in data space and leave the symbols on "uucico".) We saw our incoming transfer rate rise from just over 700 to 850 after making the change. Your improvement may not be as substantial if you're using a Telebit with UUCP spoofing. Regarding UUCP windowing, I'm pretty sure the default packet size is 64 bytes and I'm sure the default window is 3 packets...meaning that 3 packets can be outstanding and unacknowledged before it stops sending. Increasing the number to 7 means up to 7 packets can be outstanding before the transmitting system stops sending to wait for an acknowledge. The "windows" number applies to the machine receiving data - when the conversation begins, each machine offers its window size for the other system to use when transmitting to it. (This has nothing to do with which machine is master or slave, just with which one is sending or receiving data.) In stock 3.51 "uucico" you should begin by making a copy of "uucico" which you can then "adb -w uucico.new". You should search for a "moveq.l &3,%d0" in the right context. You can do this by: 0x87000?l 0x7003 (locate the value "0x7003" by searching memory starting at "0x87000") Hopefully you'll come up with something like "875d2" (that's where it's at in the copy of HDB I have - be sure to substitute the value you find everywhere it is used below). Now do "0x875d2?i" and hit RETURN a few extra times to make sure the context is the same as this: 875d2: moveq.l &3,%d0 875d4: mov.b %d0,27.w(%a2) 875d8: mov.b %d0,26.w(%a2) 875dc: moveq.l &0,%d2 now if you do a "0x875d2?x" it should say: 875d2: 7003 You can then say: 0x875d2?w 0x7007 followed by: 0x875d2?i which should return: moveq.l &7,%d0 At this point, you've got a "uucico" which will offer windows of 7 to any other machine it calls or is called by. -- Scott S. Bertilson ...ssb@quest.UUCP scott@poincare.geom.umn.edu
rog@ingres.com (Roger Taranto) (06/03/91)
In article <1991May25.152232.27860@quest.UUCP> ssb@quest.UUCP (Scott Bertilson) writes: > Regarding UUCP windowing, I'm pretty sure the default packet size >is 64 bytes and I'm sure the default window is 3 packets...meaning >that 3 packets can be outstanding and unacknowledged before it stops >sending. Increasing the number to 7 means up to 7 packets can be >outstanding before the transmitting system stops sending to wait >for an acknowledge. The "windows" number applies to the machine How were the 3 and 7 chosen? Is there any research on the optimal number of un-ack'ed packets? Why not raise it to 16 or 32 or ...? -Roger {mtxinu,pacbell,amdahl,sun,hoptoad}!rtech!rog rog@ingres.com