netdev
[Top] [All Lists]

Re: [Fwd: Re: possible bug x86 2.4.2 SMP in IP receive stack]

To: kuznet@xxxxxxxxxxxxx
Subject: Re: [Fwd: Re: possible bug x86 2.4.2 SMP in IP receive stack]
From: Bob Felderman <feldy@xxxxxxxx>
Date: Thu, 8 Mar 2001 10:56:43 -0800 (PST)
Cc: Bob Felderman <feldy@xxxxxxxx>, Andi Kleen <ak@xxxxxx>, andrewm@xxxxxxxxxx, davem@xxxxxxxxxx, netdev@xxxxxxxxxxx, pp@xxxxxxxxxxxxxx
In-reply-to: <200103081742.UAA25910@ms2.inr.ac.ru>
Sender: owner-netdev@xxxxxxxxxxx

On Thu, 8 Mar 2001 kuznet@xxxxxxxxxxxxx wrote:

> Hello!
> 
> > In my experience upping it can increase NFS performance a lot.
> 
> Indeed, 256K is too low. Even TCP needs ~512K window on gige.
> 
> Actually, gentle hint to Bob was to estimate minimal threshold,
> when evicton completely stops on myrinet. This can be taken as
> new default, adjusted to lower values for low memory configurations.
> 
> Alexey
> 

I tried a little yesterday, but here's more info.
Upping the threshold does not help a great deal.
I went all the way to 4Meg and still saw
similar behavior of  reassem fails.

Between 1 and 2 
echo "1048576" > /proc/sys/net/ipv4/ipfrag_high_thresh

between 2 and 3
echo "2097152" > /proc/sys/net/ipv4/ipfrag_high_thresh

between 3 and 4
echo "4194304" > /proc/sys/net/ipv4/ipfrag_high_thresh

Then I ran a netperf udp test of about the same length.


grep "reassembles failed" /tmp/1 /tmp/2 /tmp/3 /tmp/4; 
/tmp/1:    608545 packet reassembles failed
/tmp/2:    881139 packet reassembles failed
/tmp/3:    1128584 packet reassembles failed
/tmp/4:    1322635 packet reassembles failed

I think the culprit here is the packet receive errors from 
UDP. These are socket overflows I think. I'm trying to 
track it down. When I used DaveM's zero-copy patches on
a linux-2.4.0 kernel, most, if not all, of these
packet receive errors went away. 


grep "packet receive errors" /tmp/1 /tmp/2 /tmp/3 /tmp/4
/tmp/1:    621834 packet receive errors
/tmp/2:    826133 packet receive errors
/tmp/3:    985257 packet receive errors
/tmp/4:    1140693 packet receive errors




<Prev in Thread] Current Thread [Next in Thread>