VIMAGE UDP memory leak fix

Adrian Chadd adrian at freebsd.org
Fri Nov 21 17:40:32 UTC 2014


On 21 November 2014 07:32, Robert N. M. Watson <rwatson at freebsd.org> wrote:
>
> On 21 Nov 2014, at 15:20, Marko Zec <zec at fer.hr> wrote:
>
>>> Bjoern and I chatted for the last twenty or so minutes about the
>>> code, and believe that as things stand, it is *not* safe to turn off
>>> UMA_ZONE_NOFREE for TCP due to a teardown race in TCP that has been
>>> known about and discussed for several years, but is some work to
>>> resolve and that we've not yet found time to do so. The XXXRW's in
>>> tcp_timer.c are related to this. We're pondering ways to fix it but
>>> think this is not something that can be rushed.
>>
>> OK fair enough - thanks a lot for looking into this!
>>
>> Skimming through a bunch of hosts with moderately loaded hosts with
>> reasonably high uptime I couldn't find one where net.inet.tcp.timer_race
>> was not zero. A ny suggestions how to best reproduce the race(s) in
>> tcp_timer.c?
>
> They would likely occur only on very highly loaded hosts, as they require race conditions to arise between TCP timers and TCP close. I think I did manage to reproduce it at one stage, and left the counter in to see if we could spot it in production, and I have had (multiple) reports of it in deployed systems. I'm not sure it's worth trying to reproduce them, given that knowledge -- we should simply fix them.
>

Wasn't this just fixed by Julien @ Verisign?

As for the vimage stability side of things - I'd really like to see
some VIMAGE torture tests written. Stuff like "do a high rate TCP
connection test whilst creating and destroying VIMAGEs."



-adrian


More information about the freebsd-net mailing list