"Austad, Jay" <austad at marketwatch.com> wrote:
> 
> Version 2.4.3.  I just tested 2.4.4, and I have the same problem.  
> 
> > 11 Mb/s is ok for 100 Mbit network, if you account for:
> > 	- network overhead
> > 	- kernel overhead
> > 	- disk overhead
> 
> When I switch back to kernel 2.2, I can get around 80Mbit/sec to hosts
> on the same switch.  I'm going to have to install too many boxes if I
> can only get 11Mbit/sec out of them.  I have 5 boxes running kernel 2.2
> that serve out around 100 million images a day combined.  I'm not using
> 2.4 in production anymore because of random box crashes, and network
> performance issues.  But, I'd like to be able to use it, especially for
> when Apache 2.0 is released.  And all of the latest distros are shipping
> with it also.  

> > > /var/log/syslog fills with this:
> > > May  2 17:51:57 i5 kernel: Undo loss 10.10.220.101/3419 c2 
> > l0 ss2/2 p0
> > > May  2 17:52:00 i5 kernel: Undo loss 10.10.220.101/2634 c2 
> > l0 ss2/2 p0
> > > May  2 17:52:00 i5 kernel: Undo loss 10.10.220.101/3228 c2 
> > l0 ss2/2 p0
> > > May  2 17:52:06 i5 kernel: Undo loss 10.10.220.101/4646 c2 
> > l0 ss2/2 p0
> > > May  2 17:52:06 i5 kernel: Undo loss 10.10.220.101/4647 c2 
> > l0 ss2/2 p0
> > > May  2 17:52:09 i5 kernel: Undo loss 10.10.220.101/4222 c2 
> > l0 ss2/2 p0
> > > May  2 17:52:09 i5 kernel: Undo loss 10.10.220.101/4524 c2 
> > l0 ss2/2 p0
> > > May  2 17:52:14 i5 kernel: Undo loss 10.10.220.101/4520 c2 
> > l0 ss2/2 p0

I'm no kernel hacker, but from the looks of what I've found over at
lxr.linux.no, the kernel seems to be trying to retransmit data, then
discovering that it doesn't have to.  That's what the `undo' is all about
-- it's trying to stop the retransmission (or something along those
lines..)

Relevant stuff: 
http://lxr.linux.no/source/net/ipv4/tcp_input.c#L1290
http://lxr.linux.no/source/net/ipv4/tcp_input.c#L1326

You can probably also see the numbers moving around in /proc/net/netstat

It might be a good idea to try increasing the time before a retransmit
occurs by playing with the files in /proc/sys/net/ipv4

-- 
 _  _  _  _ _  ___    _ _  _  ___ _ _  __   "There is no spoon" -- 
/ \/ \(_)| ' // ._\  / - \(_)/ ./| ' /(__   The Matrix 
\_||_/|_||_|_\\___/  \_-_/|_|\__\|_|_\ __)                             
[ Mike Hicks | http://umn.edu/~hick0088/ | mailto:hick0088 at tc.umn.edu ]