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>