Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Nov 2011 22:22:11 -0600
From:      Kris Bauer <kristoph.bauer@gmail.com>
To:        Lawrence Stewart <lstewart@freebsd.org>
Cc:        "freebsd-stable@freebsd.org List" <freebsd-stable@freebsd.org>
Subject:   Re: TCP Reassembly Issues
Message-ID:  <CAPNZ-WorCriYj8eO5iXyEmSjY1AVKhxCynNxDQOghkuVwqsAVA@mail.gmail.com>
In-Reply-To: <4ECF1796.2060107@freebsd.org>
References:  <CAPNZ-Wq38=F3o2hYuYF_unBj3SZQ52XhVhdcwQ8PE_vU9xc2YA@mail.gmail.com> <CABLqceRyohFFYtdnW%2Bt%2B63kwk00cbkJVz3oXWqrR=xijkg14CA@mail.gmail.com> <4ECE9914.6020502@turing.b2n.org> <CAPNZ-WrQdjFEErt6K1uEndSc082q8Q48VHvtbP=5cNXFw7H7Rg@mail.gmail.com> <1A5B3A48-7DF3-4018-A244-152BDE96299A@lassitu.de> <CAJ-VmokMrJipptQWjuhY5-41p=-P2-xc3ze1p4JKTXWz3MgtzA@mail.gmail.com> <CAPNZ-Wr8r%2Bz7u%2BT3xgY3dfwhEZkN27NebrXzaXmXmneWpMw8xA@mail.gmail.com> <20111125020004.GA36109@icarus.home.lan> <CAPNZ-WraZo9FyvxRyuJ%2BnM2GPoSsqM99L--jOOX=h2VBrPFbHQ@mail.gmail.com> <4ECF1796.2060107@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Nov 24, 2011 at 10:20 PM, Lawrence Stewart <lstewart@freebsd.org>wrote:

> On 11/25/11 14:19, Kris Bauer wrote:
>
>> On Thu, Nov 24, 2011 at 8:00 PM, Jeremy Chadwick
>> <freebsd@jdc.parodius.com>wrote:
>>
>>  On Thu, Nov 24, 2011 at 07:13:39PM -0600, Kris Bauer wrote:
>>>
>>>> On Thu, Nov 24, 2011 at 5:35 PM, Adrian Chadd<adrian@freebsd.org>
>>>>
>>> wrote:
>>>
>>>>
>>>>  Have you tried disabling the tcp offload features of your NIC?
>>>>>
>>>>>
>>>>> Adrian
>>>>>
>>>>>
>>>> To test this, I added net.inet.tcp.tso=0 to sysctl.conf and restarted
>>>> the
>>>> box; it didn't work.  net.inet.tcp.reass.cursegments immediately started
>>>> climbing up and were exhausted within an hour.
>>>>
>>>
>>> I think Adrian was referring to RXCSUM and TXCSUM on your NIC; TSO is
>>> another offloading feature.
>>>
>>> See ifconfig(8) for how to disable those.
>>>
>>> Be aware that disabling them in real-time (e.g. ifconfig xxx -rxcsum
>>> -txcsum) may cause problems; there are some NIC drivers on FreeBSD which
>>> do not like you doing this once the NIC has established link (meaning
>>> "reloading the driver" (for lack of better term) results in wonky
>>> behaviour).  So you may instead want to add those hyphen-options to your
>>> ifconfig_XXX lines in /etc/rc.conf and reboot the box.
>>>
>>> If none of this solves the problem, then I consider this a priority 0
>>> blocker (read: "all hands on deck") issue with the IP stack in FreeBSD
>>> 9.x and will need immediate attention.
>>>
>>> I would strongly recommend a developer or clueful end-user begin
>>> tracking down who committed all of these bits and CC them into the
>>> thread.  I would start by looking who implemented the
>>> net.inet.tcp.reass.cursegments sysctl, because that isn't in RELENG_8 at
>>> all.
>>>
>>>
>> I have added -rxcsum -txcsum -tso to rc.conf and rebooted the box.  This
>> has not solved the problem.  After a half-hour usage, I'm already up to
>> reass.cursegments=2182 and it keeps climbing.
>>
>
> This is pretty much guaranteed to be an accounting problem in the TCP
> reassembly code (netinet/tcp_reass.c), not a driver related issue. I would
> not expect any amount of tweaking, tuning or driver option twiddling to
> change the outcome (but if you do find something which alleviates it, do
> let us know).
>
> Kris, are you in a position to test kernel patches on the machine which is
> experiencing this problem?
>
> Cheers,
> Lawrence
>


I'd be happy to test kernel patches with this machine.

Thanks,
Kris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPNZ-WorCriYj8eO5iXyEmSjY1AVKhxCynNxDQOghkuVwqsAVA>