Path: utzoo!utgpu!water!watmath!clyde!rutgers!sri-spam!ames!elroy!cit-vax!mangler From: mangler@cit-vax.Caltech.Edu (Don Speck) Newsgroups: comp.unix.wizards Subject: Re: rdump, Ethernet slowness Summary: tcp_sendspace tcp_recvspace Message-ID: <4836@cit-vax.Caltech.Edu> Date: 10 Dec 87 08:59:55 GMT References: <788@hsi.UUCP> <14115@oddjob.UChicago.EDU> Organization: California Institute of Technology Lines: 22 In article <14115@oddjob.UChicago.EDU>, matt@oddjob.UChicago.EDU (Ke Kupua) writes: > excruciating! It takes about 4 hours to [r]restore a level 0 dump of a > 175MB partition. That's 12 Kbytes/sec, a magic number. It's the rate you get if tcp_recvspace is too much bigger than tcp_sendspace. To save on acknowledgements, an ack is not sent until 35% of tcp_recvspace bytes have been received. The 4.3bsd /etc/rrestore does an ioctl to raise the receive buffer for its socket (to the same as the block size - 10K). The sender's buffer is probably smaller than 35% of 10K, and hence can't send that much data without getting an acknowledgement; and things just sit there until the receiver's TCP times out and decides to send an ack. Try removing the SOL_SOCKET stuff from rrestore. It was a nice idea, but doesn't interoperate very well. You have the same problem in rdumping from a 4.2bsd machine to a 4.3bsd /etc/rmt. Don Speck speck@vlsi.caltech.edu {amdahl,scgvaxd}!cit-vax!speck