Messages in this thread | | | Subject | Re: pre-2.1.90-3 IP problems | From | Andi Kleen <> | Date | 15 Mar 1998 16:38:32 +0100 |
| |
Jon Evans <jon@evansoft.demon.co.uk> writes:
> On Sun, 15 Mar 1998, Jeff DeFouw wrote: > > > system didn't die that time. RealAudio wasn't connecting so I checked the > > network activity and found that my system was sending out a flood of the > > same TCP ack packet to the server--about 2 packets every hundredth of a > > second! RealAudio used readv and writev several times before it looped > > That sounds like something I had with pre-2.1.90-2 +IM's delayed IO-bitmap > clearing patch. > > I was trying to connect to a https: site with Netscape Communicator and it > looked like my modem SD light just locked on. It stayed like that for > about a minute until I pressed Stop on the browser, then the light went > out. I pressed Refresh and it did it again. So I gave up. :-) > > I didn't do any investigation as to what packet it was sending etc. as I > don't know how to. :)
I have seen this often too (with earlier kernels - 2.1.85) . A strace on netscape showed that it was in an endless loop sending the http request to a not-yet-connected socket, Linux returns EAGAIN, netscape tries again, ..
I checked the code and this code seems to behave the same in 2.0 and 2.1 so it is a mysterium why this causes a problem. BSD returns ENOTCONN in this case, not EAGAIN, but Solaris returns EAGAIN too so that is not a linux-specific behaviour.
There must be some change in 2.1 that causes netscape to do that. I wasn't able to track it down yet. As far as I can see the code to check for a not-yet connected socket in tcp_do_sendmsg() does the same in 2.0 and 2.1.
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
| |