Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Oct 2010 21:23:19 +0000 (UTC)
From:      Marcin Cieslak <saper@saper.info>
To:        freebsd-current@freebsd.org
Subject:   Re: tun(4) in -CURRENT: No buffer space available - race condition patch
Message-ID:  <slrniakhe7.24n6.saper@saper.info>
References:  <slrnht8djj.1tsh.saper@saper.info> <201009151749.45038.jhb@freebsd.org> <slrni945av.1rou.saper@saper.info> <201009170854.56516.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
>> John Baldwin <jhb@freebsd.org> wrote:
> On Thursday, September 16, 2010 9:02:23 am Marcin Cieslak wrote:
>> Dnia 15.09.2010 John Baldwin <jhb@freebsd.org> napisaƂ/a:
>> > On Monday, September 13, 2010 9:10:01 pm Marcin Cieslak wrote:
>> >> Output queue of tun(4) gets full after some time when sending lots of data.
>> >> I have been observing this on -CURRENT at least since March this year.
>> >> 
>> >> Looks like it's a race condition (same in tun(4) and tap(4)), 
>> >> the following patch seems to address the issue:
>> >
>> > This is a good find.  I actually went through these drivers a bit further and 
>> > have a bit of a larger patch to extend the locking some.  Would you care to 
>> > test it?
>> 
>> Do you think those drivers could be taken out of Giant after this change?
>> I think that networking code path (via if_start etc.) is not using Giant
>> at all, only cdevsw routines are. Am I right?
>
> Oh, yes.  I've updated the patch to remove D_NEEDGIANT.

I just want to report back that may tun(4) tunnel has been rock-solid since
I applied the patch. Didn't have a chance to test tap(4) and it won't happen
for another week or so - I hope somebody else jumps in the meantime. 

Thank you!

//Marcin




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?slrniakhe7.24n6.saper>