TCP Reassembly Issues

Lawrence Stewart lstewart at freebsd.org
Sat Nov 26 17:17:08 UTC 2011


Hi George,

On 11/27/11 03:16, George Mitchell wrote:
> On 11/26/11 00:23, Lawrence Stewart wrote:
>> [...]
>> Could those who have reported the bug and are able to recompile their
>> kernel to test a patch please try the following and report back to the
>> list:
>>
>> http://people.freebsd.org/~lstewart/patches/misctcp/tcp_reass_plugzoneleak_10.x.r227986.patch
>>
>> [...]
> Works for me! I'm now getting a sustained throughput of 7.4MB/s,
> compared to 4.3MB/s on 8.2-STABLE and 3.2MB/s on 7.4-RELEASE, all on
> the same hardware (HP notebook with re 100Mb/s interface, reading from
> an 8.2-STABLE server with an alc 1000Mb/s interface, via two gigabit
> switches).

Good stuff.

> But I'm still bemused that there should have been any TCP reassembly
> going on. Doesn't that imply that there was packet fragmentation? My
> network is uniformly 1500 byte MTU. -- George

TCP reassembly refers to queuing packets received out of order until the 
missing segment is received i.e. not IP layer fragmentation related, but 
packet loss or packet reordering related.

I guess something in your setup is dropping the odd packet which is why 
your NFS performance isn't closer to the 10+MB/s (I'm not sure how much 
overhead NFS adds, but ~12MB/s is max application-layer throughput of 
100Mbps Ethernet so achievable NFS throughput should be a bit less than 
that) it could be if everything was peachy.

siftr(4) and some tcpdumping on both client/server could probably help 
you figure out where you're dropping packets if you want to improve your 
current performance even further.

Cheers,
Lawrence


More information about the freebsd-stable mailing list