TCP Reassembly Issues
Lawrence Stewart
lstewart at freebsd.org
Sat Nov 26 05:23:14 UTC 2011
On 11/25/11 13:01, Lawrence Stewart wrote:
> On 11/24/11 18:02, Kris Bauer wrote:
>> Hello,
>>
>> I am currently experiencing an issue with FreeBSD 9.0-RC2 r227852
>> where the
>> net.inet.tcp.reass.curesegments value is constantly increasing (and not
>> descreasing when there is nominal traffic with the box). It is causing
>> tcp
>> slowdowns as described with kern/155407:
>>
>> Exhausted net.inet.tcp.reass.maxsegments block recovering tcp session
>> (for
>> this socket and any other socket waiting for retransmited packets). After
>> exhausted net.inet.tcp.reass.maxsegments allocation new entry in
>> tcp_reass
>> failed (for this socket and any other socket waiting for retransmited
>> packets).
>>
>> I have increased the reass.maxsegments value to 16384 to temporarily
>> avoid
>> the problem, but the cursegments number keeps rising and it seems it will
>> occur again.
>>
>> Is this an issue that anyone else has seen? I can provide more
>> information
>> if need be.
>
> Thanks Kris, Raul and Stefan for the reports, I'll look into this.
I think I've got it - a stupid 1 line logic bug. My apologies for
missing it when I reviewed the patch which introduced the bug (patch was
committed to head as r226113, MFCed to stable/9 as r226228).
Due to some miscommunication, the initial patch was committed to and
MFCed from head much later than it should have been in the 9.0 release
cycle and instead of being included in the BETAs, didn't make it in
until 9.0-RC1 I believe i.e. only RC1 and RC2 should be experiencing the
issue.
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
The patch is against head r227986 but will apply and work correctly for
9.0 as well.
Cheers,
Lawrence
More information about the freebsd-stable
mailing list